Controller
사용자의 요청을 처리하고 스프링 MVC 패턴 중 View에 객체를 넘겨주는 역할 을 합니다
대규모 서비스일수록 처리해야할 서비스가 많아지면서 중간 제어자 역할을 할 Controller가 생겻고
스프링 MVC 중 핵심은 View와 Model의 작업을 분리시키기 위 해 MVC 패턴에서 사용하고 있는
Controller입니다 프로토콜 처리를 하고 View에서 오는 특정 데이터 형식을 컨트롤러에서 바꿔서 모델로
전송을 시켜줍니다.
@Controller
@RequiredArgsConstructor
public class UserController {
private final UserService userService;
@GetMapping(value = "/users")
public @ResponseBody ResponseEntity<User> findUser(@RequestParam("userName") String userName){
return ResponseEntity.ok(userService.findUser(user));
}
@GetMapping(value = "/users/detailView")
public String detailView(Model model, @RequestParam("userName") String userName){
User user = userService.findUser(userName);
model.addAttribute("user", user);
return "/users/detailView";
}
}
@RestController
Restful Web API를 좀 더 쉽게 만들기 위해 스프링 프레임워크 4.0에 도입된 기능입니다.
@Controller와 @RespnseBody를 합쳐놓은 어노테이션입니다. 클래스 이름 위에 @Controller 어노테이션을 선언하면
해당 클래스를 요청을 처리하는 컨트롤러로 사용합니다.@RespnseBody 어노테이션은 자바 객체를 HTTP 응답 본문의 객체로
변환해 클라이언트에게 전송합니다. 이를 통해 따로 html 파일을 만들지 않아도 웹 브라우저에 "Hello World"같은 문자열을 출력
할 수 있습니다.
@GetMapping
컨트롤 클래스에 @GetMapping 어노테이션을 이용해 클라이언트의 요청을 처리할 URL을 매핑합니다.
@GetMapping(value = "/users/detailView")
public String detailView(Model model, @RequestParam("userName") String userName){
User user = userService.findUser(userName);
model.addAttribute("user", user);
return "/users/detailView";
}
}
'Spring > Spring Framework' 카테고리의 다른 글
스프링 프레임워크 중요한 용어 (0) | 2023.02.27 |
---|---|
의존성주입 (0) | 2023.02.27 |
스프링 빈(Spring Bean) (0) | 2023.02.18 |
스프링 강한 결합, 느슨한 결합 (0) | 2023.02.17 |
스프링 프레임워크의 기본 개념 (0) | 2023.02.13 |