[Spring] POST API 작성

WOOK JONG KIM·2022년 10월 25일
0
post-thumbnail

POST API

웹 애플리케이션을 통해 데이터베이스 등의 저장소에 리소스를 저장할때 사용하는 API

GET에서는 URL경로나 파라미터에 변수를 넣어 요청을 보낸 반면 POST에서는 저장하고자 하는 리소스나 값을 Http Body에 담아서 전달

@RequestBody를 활용한 POST메서드 구현

Body 영역에 JSON 형식으로 값을 전달해야 함

@RestController
@RequestMapping("/api/v1/post-api")
public class PostController {

    @PostMapping("/member")
    public String postMember(@RequestBody Map<String,String> postData){
        StringBuilder sb = new StringBuilder();

        postData.entrySet().forEach(data->{
            sb.append("key: " + data.getKey() + " value " + data.getValue() +"\n");
        });
        return sb.toString();
    }
}

어떠한 형식의 값이 들어올지 몰라 Map 사용하였음

@RequestBody는 Http의 Body 내용을 해당 어노테이션이 지정된 객체에 매핑하는 역할

JSON : 자바스크립트의 객체 문법을 따르는 문자 기반 데이터 포맷

DTO 객체를 사용한 POST메서드

@RestController
@RequestMapping("/api/v1/post-api")
public class PostController {

    @PostMapping("/member")
    public String postMember(@RequestBody MemberDto dto){
        return dto.toString();
    }
}

PUT은 dto 사용 시 파라미터 앞에 아무것도 붙이지 않지만 POST인 경우에는 @RequestBody 붙여 줘야함

profile
Journey for Backend Developer

0개의 댓글