on
스프링 HTTP 요청 파라미터 - @RequestParam
스프링 HTTP 요청 파라미터 - @RequestParam
728x90
import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Map; @Slf4j @Controller public class RequestParamController { @RequestMapping("/request-param-v1") public void requestParamV1(HttpServletRequest request, HttpServletResponse response) throws IOException { String username = request.getParameter("username"); int age = Integer.parseInt(request.getParameter("age")); log.info("username={}, age={}", username, age); response.getWriter().write("ok"); } @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 @RequestMapping("/request-param-v3") public String requestParamV3( @RequestParam String username, @RequestParam int age){ log.info("username = {}, age = {}", username, age); return "ok"; } @ResponseBody @RequestMapping("/request-param-v4") // http 파라미터 변수 이름과 같으면 @RequestParam 생략가능 // String, int, Integer 등의 단순 타입이면 @RequestParam도 생략 가능 public String requestParamV4(String username, int age){ log.info("username = {}, age = {}", username, age); return "ok"; } @ResponseBody @RequestMapping("/request-param-required") public String requestParamRequired( @RequestParam(required = true) String username, // 자바에 int에는 null 이 못들어감(기본 형 null X) // 요청 파라미터 없는 경우 null 입력 됨 @RequestParam(required = false) Integer age){ log.info("username = {}, age = {}", username, age); return "ok"; } @ResponseBody @RequestMapping("/request-param-default") public String requestParamDefault( @RequestParam(required = true,defaultValue = "guest") String username, @RequestParam(required = false, defaultValue = "-1") int age){ log.info("username = {}, age = {}", username, age); return "ok"; } @ResponseBody @RequestMapping("/request-param-map") // Map을 MultiValueMap으로 조회할 수 있다. public String requestParamMap(@RequestParam Map paramMap){ log.info("username = {}, age = {}", paramMap.get("username"), paramMap.get("age")); return "ok"; } }
728x90
from http://arch1tect.tistory.com/118 by ccl(A) rewrite - 2021-09-09 02:01:12