Programming-[Backend]/SpringBoot

[TIL] @RequestBody, http의 파라미터를 Body로 넘기기(feat. 컨트롤러 테스트), MockMvc, Gson

컴퓨터 탐험가 찰리 2021. 5. 13. 22:17
728x90
반응형

 

컨트롤러 테스트를 할 때, Parameter 값을 아래와 같이 MockMvc의 .param으로 넘겨주었다.

 

컨트롤러 정의 부분

컨트롤러 테스트 부분

 

그러나 Put이나 Post의 경우에는 @Valid 뒤에 @RequestBody를 붙여주어서 http의 Body에 PO 입력값을 담아서 보내주었다.

 

즉, @RequestBody는 http의 Parameters = { } 로 파라미터를 전달하는 것이 아니라, Body = { }에 body값을 전달한다는 의미가 된다. 

 

 


 

 

이렇게 설정하면 아래와 같이 컨트롤러 테스트 부분도 변경하여 MockMvc의 Content 부분에 Json 타입을 넣어주면 된다. 이 때, Gson 객체로 PO를 Json으로 바꿔주도록 한다.

 

String TestJsonBody = new Gson().toJson(XxxPo);

 

 

 

 

컨트롤러 정의 부분

컨트롤러 테스트 부분

728x90
반응형