컨트롤러 클래스
MVC 패턴 중 핸들러 메소드를 포함하는 컨트롤러 빈을 만드는 과정
- @Controller
- @RestController=@ResponseBody+@Controller
핸들러 메소드
스프링 웹서비스가 받는 URI 요청을 컨트롤러 클래스의 특정 메소드에 매핑하는 과정
- @RequestMapping
- @GetMapping
- @PostMapping
- @PutMapping
- @DeleteMapping
- @PatchMapping
HandlerFunction == @RequestMapping
입력 : ServerRequest
출력 : ServerResponse
RouterFunction == @RequestMapping
입력 : ServerRequest
출력 : Optional
HandlerFunction VS RouterFunction
HandlerFunction의 결과 : data
RouterFunction의 결과 : date + behavior
기타
• RequestPredicates
• RouterFunctions.route().nest()
• RouterFunctions.route().before()
• RouterFunctions.route().after()
• RouterFunctions.Builder.onError() • RouterFunctions.Builder.filter()
Spring Web에서 사용자의 request를 받아 response를 리턴하는 메소드
1. 매핑정보 2. request 3. response
핸들러 메소드가 받을 수 있는 요청들
메소드 파라미터로 적어 넣을 수 있는 타입들
• ServletRequest, ServletResponse, HttpSession
• WebRequest, NativeWebRequest
• @RequestParam, @PathVariable
• @RequestBody, HttpEntity
• @ModelAttribute, @SessionAttribute, Model, ModelMap
• @RequestHeader, @CookieValue
• Principal, Locale, TimeZone, InputStream, OutputStream, Reader, Writer, ....
핸들러 메소드가 내보낼 수 있는 응답들
메소드가 리턴할 수 있는 타입들
• ModelAndView
• String, View
• @ModelAttribute, Map, Model • @ResponseBody
• HttpEntity, ResponseEntity • HttpHeaders
• void
퍼가요~