[Java / Spring] RequestBody, ModelAttribute, RequestParam

2023. 3. 14. 00:39자바/이론 공부

@RequestParam

 - 한개의 HTTP 요청 파라미터를 받기 위해서 사용!

 - 항상 받아오는 값이 아니라면 (필수값이 아니라면) required를 false로 설정해줘야한다.

public ModelAndView boardList (PagingVO pagingVO, 
    @RequestParam(value="nowPage", required=false) String nowPage, 
    @RequestParam(value="head", required=false) String head,
    @RequestParam(value="search_community", required=false) String search_community, 
    HttpServletRequest request,
    HttpServletResponse response) throws Exception;

 - 내가 북애프로젝트에서 사용한 코드인데, 이런식으로 하나씩 받아올때 @RequestParam을 사용해준다. 난 필수값이 아니었기때문에 required=false 설정을 해줬다.

 

 

@RequestBody

 - Json 형태의 HTTP Body를 Java 객체로 변환시켜주는 역할이다.

 - 내 북애프로젝트에서 Json을 @RequestBody로 받아오려고 했는데 실패했다.왤까..? 다음에 다시 도전해봐야겠다.

 

 

@ModelAttribute

 - form 형태의 HTTP Body와 요청 파라미터들을 생성자나 Setter로 바인딩하기 위해 사용된다.

public ModelAndView addArticle (@ModelAttribute("communityVO") CommunityVO communityVO, 
    HttpServletRequest request,
    HttpServletResponse response) throws Exception;

 - 내가 북애프로젝트에서 사용한 방법이다. 게시글작성 jsp에서 form형태로 받아온 것들을 CommunityVO에 바인딩했다!