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
반응형
'Programming-[Backend] > SpringBoot' 카테고리의 다른 글
[TIL] @JsonFormat으로 @DateTimeFormat 대신 Date까지만 받기 (0) | 2021.06.16 |
---|---|
[TIL] @SuperBuilder 사용법 (0) | 2021.06.07 |
[TIL] [패턴] 회원 활성화/비활성화, 수정 비즈니스 로직 구현 (0) | 2021.05.30 |
[TIL] [에러] 파라미터 (Parameter Object) 값 null 문제 (0) | 2021.05.17 |
스프링 부트 : 기본 개념 1) Entity, Repository 개념 (10) | 2021.03.20 |