[spring] ResponseBody, RequestBody

도윤·2023년 11월 2일
0

spring

목록 보기
3/5

스프링 프레임워크에서 비동기 통신, 즉 API 통신을 구현하기 위해 @RequestBody와 @ResponseBody 어노테이션을 사용한다.

  • 클라이언트 -> 서버 요청 : @RequestBody
  • 서버 -> 클라이언트 응답 : @ResponseBody
    @RequestBody
    json 기반의 HTTP Body를 자바 객체로 변환

// 객체

public class Entity{
	private Long id;
    private String name;
    private String address;
}

// API Controller
@PostMapping("/api/post")
public void requestTest(@RequestBody Entity entity) {
    System.out.println("id = " + entity.id);
    System.out.println("name = " + entity.name);
    System.out.println("address = " + entity.address);
}

다음과 같은 내용을 HTTP Body에 담아서 POST 요청을 보내게 될 경우

POST /api/post HTTP/1.1
 
{
    "id": 1,
    "name": "user1"
}

@RequestBody 는 본문의 내용을 매핑해서 Entity 객체를 생성한다.

entity.id == 1
entity.name == "user1"
entity.address == null
@ResponseBody

자바 객체를 json 기반의 HTTP Body로 변환

@RestController를 사용하는 경우 반환값에 자동으로 @ResponseBody 어노테이션이 붙게 된다. 따라서 자바 객체를 반환하면 알아서 Json 형식으로 매핑해서 응답한다.

참고
[Spring] @RequestBody / @ResponseBody 어노테이션 이란?

profile
기록은 기억을 이긴다⭐

0개의 댓글