반응형
@RequestParam을 사용하면 요청 파라미터를 매우 편리하게 사용이 가능하다. @RequestParam은 스프링이 제공한다.
@ResponseBody
@RequestMapping("/request-param-v2")
public String requestParamV2(
@RequestParam("username") String memberName,
@RequestParam("age") int memberAge) {
log.info("username={}, age={}", memberName, memberAge);
return "ok";
}
한 번에 많은 어노테이션이 보이는데 정리를 해보면 @ResponseBody는 View 조회를 무시하고 HTTP message body에 직접 해당 내용을 입력하고 @RequestParam은 파라미터 이름으로 바인딩을 한다.
@RequestParam("username") String memberName이런 식으로 name(value) 속성이 파라미터 이름으로 사용된다. 이걸 다르게 쓰면 request.getParameter(”username”)와 같다고 한다.
@ResponseBody
@RequestMapping("/request-param-v3")
public String requestParamV3(
@RequestParam String username,
@RequestParam int age) {
log.info("username={}, age={}", username, age);
return "ok";
}
v2 코드랑 비교해 보면 한 단계 더 생략이 들어간 것을 확인할 수 있다. HTTP 파라미터 이름이 변수 이름과 같으면 @RequestParam(name=”xx”)생략이 가능하다고 한다. 여기서 한 단계 더 줄여서 아예 짧게
public String requestParamV4(String username, int age)
이런 식으로 한 줄로 사용하는 방법도 있는데 (String, int, Integer 단순 타입경우 @RequestParam 생략 가능) 강사님은 이렇게 너무 없어도 애매하다고 했다. 강사님은 v3 방법이 요청 파라미터 데이터를 명확하게 읽는다는 것을 알 수 있으므로 더 나은 것 같다고 하셨다.
강의 내용에서 코딩한 부분은 더 많은데 간단하게 요약하면 이정도가 된다.
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술을 참고하여 공부하였습니다.
반응형
'Framework & Library > Spring Boot' 카테고리의 다른 글
[Spring Boot] : HTTP 요청 메시지 - 단순 텍스트 관련 알아보기 (0) | 2022.01.26 |
---|---|
[Spring Boot] : HTTP 요청 파라미터 - @ModelAttribute (0) | 2022.01.25 |
[Spring Boot] : HTTP 요청 파라미터 , 쿼리 파리미터, HTML Form (0) | 2022.01.25 |
[Spring Boot] : HTTP 요청 기본, 헤더 조회 (0) | 2022.01.25 |
[Spring Boot] : 요청 매핑 API 예시 (0) | 2022.01.25 |
댓글