2023.11.02.<Spring>Controller, ResquestMapping, ResponseBody, RestController
2023. 11. 2. 22:42ㆍ콛/Til
1. Controller
○ Spring MVC는 효율적으로 API를 처리하기 위해 Front Controller 패턴 사용
○ Controller 사용 시 API마다 파일을 만들지 않아도 괜찮다.
○ @Controller의 사용법
- 아래 코드의 @GetMapping부분을 HTTP Method에 알맞에 사용한다.
@GetMapping("/api/get")
@ResponseBody
public String get() {
return "GET Method 요청";
}
//@GetMapping, @PostMapping, @PutMapping, @DeleteMapping..
○ @ResquestMapping
- 중복되는 url이 있을 경우 Class 생성전에 @ResquestMapping을 사용해 코드의 가독성을 높일 수 있다. 아래코드 참고
@Controller
@RequestMapping("/api") // @RequestMapping 사용
public class HelloController {
@GetMapping("/hello")
@ResponseBody
public String hello() {
return "Hello World!";
}
○ @ResponseBody는 무엇일까?
- 템플릿 엔진이 적용된 SpringBoot에서는 Controller에서 문자열을 반환시 templates 폴더에서
해당 문자열의 .html 파일을 찾아서 반환해준다.
- 따라서 html파일이 아닌 JSON데이터를 브라우저에 반환하고 싶다면 해당 메서드에 @ResponsBody 에너테이션 추가
○ @RestController
- @RestController == @Controller + @ResponseBody
- 사용시 해당 클래스의 모든 메서드에 @ResponseBody 애너테이션 추가
'콛 > Til' 카테고리의 다른 글
2023.11.03<MySQL>MySQL 8.2 Command Line Client 실행시 꺼지는 현상 (0) | 2023.11.03 |
---|---|
2023.11.01.<Spring> MVC, Sevlet, Front Controller (0) | 2023.11.01 |
2023.10.31.<Spring> Gradle, 웹 서버의 동작원리, Apache와 WAS (1) | 2023.10.31 |
2023.10.30.<Spring>API, RestfulAPI (1) | 2023.10.30 |
2023.10.25.<햄버거키오스크Pj_3>어쩌다보니 구현을 해버린 건에 관하여.. (1) | 2023.10.26 |