본문 바로가기
Spring Boot

HttpMessageConverters

by 상국이 2022. 2. 20.
728x90

 : http요청 본문을 객체로 변환하거나, 객체를 http응답 본문으로 변경할 때 사용

 

@ResponseBody : 해당 객체의 converter를 사용해서 응답 return

@RequestBody : 해당 객체의 converter를 사용해서 객체로 변환 

@RestController
public class UserController {

    @PostMapping("/userinfo")
    public @ResponseBody User postUserInformation(@RequestBody User user){
        return user;
    }
}

* @ResponseBody은 @RestController를 사용하는 경우 생략 가능

 

Test 코드

@RunWith(SpringRunner.class)
@WebMvcTest(UserController.class)
public class UserControllerTest {

    @Autowired
    MockMvc mockMvc;

    @Test
    public void createUser_JSON() throws Exception {
        String userJson = "{\"username\":\"sangguk\", \"password\":\"1234\"}";

        mockMvc.perform(post("/users/create")
                .contentType(MediaType.APPLICATION_JSON_UTF8)
                .accept(MediaType.APPLICATION_JSON_UTF8)
                .content(userJson))
            .andExpect(status().isOk())
            .andExpect(jsonPath("$.username", is(equalTo("sangguk"))))      //org.hamcrest.Matchers;
            .andExpect(jsonPath("$.password", is(equalTo("1234"))));
    }

}
728x90

'Spring Boot' 카테고리의 다른 글

Spring 정적 리소스 맵핑  (0) 2022.02.27
ViewResolver  (0) 2022.02.27
Spring boot 단위 테스트  (0) 2022.02.20
Spring boot 통합 Test  (0) 2022.02.20
Logging  (0) 2022.02.20

댓글