@ResponseBody와 @ResquestBody

이해찬·2023년 9월 4일
0

항해일지

목록 보기
22/35

직렬화 / 역직렬화




직렬화(Serialization) , @ResponseBody

객체 -> JSON/XML형태로 변환하는 것 = 직렬화
서버에서 클라이언트로 데이터를 응답할 때, 웹 브라우저가 알아들을 수 있는 언어인 JAVA객체 -> JSON형태로 변환하는 것을 말한다.

@RestController -> @ResponseBody + @Controller -> 해당 컨트롤러의 모든 메서드가 @ResponseBody를 사용하는 것처럼 동작

@GetMapping("/users/{id}")
@ResponseBody
public UserDto getUser(@PathVariable Long id) {
    User user = userService.findById(id);
    // User 객체를 UserDto로 변환 후 반환
    // 반환된 UserDto 객체는 JSON 형식으로 직렬화되어 클라이언트에게 전송됩니다.
    return new UserDto(user);
}

역직렬화(Deserialization), @RequestBody

JSON/XML -> 객체형태로 변환하는 것 = 역직렬화
클라이언트가 서버로 데이터를 전송하 할 때, 이 데이터를 자바가 알아들을 수 있는 언어로 처리하기 위해서 JSON -> JAVA객체로 변환하는 것을 말한다.

@PostMapping("/users")
public void registerUser(@RequestBody UserDto userDto) {
    // 여기서 userDto는 클라이언트로부터 전송된 JSON 데이터가 
    // UserDto 객체로 역직렬화된 결과입니다.
    userService.register(userDto);
}
profile
디자인에서 개발자로

0개의 댓글