본문 바로가기
Framework & Library/Spring Boot

[Spring Boot] : HTTP 요청 파라미터 - @RequestParam

by 오주현 2022. 1. 25.
반응형

@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편 - 백엔드 웹 개발 핵심 기술을 참고하여 공부하였습니다.

반응형

댓글