• HttpServletRequest
    • req.getParameter("param")으로 접근 가능
    • multipartfile을 받을 경우 MultipartHttpServletRequest로 받아야 하고, req.getFile("filename")으로 접근 가능
  • @RequestBody
    • GET 요청은 하나의 문자열로 받을 수 있음 분리해서 받을 수 있는지는 테스트해봐야 함
    • POST 요청은 객체를 지정하면 알아서 생성해줌(따로 파싱할 필요 없음) public String inference(@RequesBody Dto_A dto_A)
  • @RequestParam
    • GET 요청은 변수 하나씩 분리해서 저장 가능 public String inference2(@RequestParam int age, @RequestParam String name)
    • POST 요청은 파싱하지 못함
      • url 상에서 데이터를 찾기 때문에 /create?age=19&name=asdf와 같이 요청 uri에 추가해야 파싱 가능
  • @PathVariable
    • @RequestParam과 마찬가지로 uri에서 데이터를 찾지만, 모든 요청 마다 하나씩만 사용 가능
    • 주로 post 요청에서 많이 사용함
      1
      2
      
      @PostMapping("/create/{id}")
      public Dto_A create(@PathVariable("id") int id, ...)
      

정리

  • POST로 JSON을 받을 때는 @RequestBody
  • POST에서 uri에 전달되는 값을 받을 때는 @PathVariable
  • GET으로 받을 때는 @RequestParam
  • multipartfile을 받아야 할 경우 form으로 전송하고 MultipartHttpServletRequest로 받는게 가장 간단한 듯

Leave a comment