POST API

JYR00·2023년 4월 14일
0

스프링부트 강의

목록 보기
6/10

POST API

  • 리소스를 추가하기 위해 사용되는 API
    @PostMapping : POST API를 제작하기 위해 사용되는 어노테이션.
    @RequestMapping + POST method의 조합
  • 일반적으로 추가하고자 하는 Resource를 http body에 추가하여 서버에 요청
    그렇기 때문에 @RequestBody를 이용하여 body에 담겨있는 값을 받아야함
@PostMapping(value="/member")
public String postMember(@RequestBody Map<String, Object> postData

postData.entrySet().forEach(map->{
	sb.append(map.getKey() + ":" + map.getValue() + "\n");
});

return sb.toString();
}

PostController

package com.example.testproject.controller;

import com.example.testproject.dto.MemberDto;
import org.springframework.web.bind.annotation.*;

import java.util.Map;

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

    @PostMapping(value = "/default")
    public String postMethod(){
        return "Hello postWorld!";
    }
//http://localhost:8080/api/v1/post-api/default
    @PostMapping(value = "/member")
    public String postMember(@RequestBody Map<String, Object> postData){
        StringBuilder sb = new StringBuilder();

//        entrySet을 사용하면 map의 전체 값을 출력할 수 있다. 크게 종류는 entrySet과 keySet이 있다.
//        entrySet은 key와 value의 값이 모두 필요한 경우 사용하고, keySet() 메서드는 key의 값만 필요한 경우 사용.
        postData.entrySet().forEach(map->{
            sb.append(map.getKey() + " : " + map.getValue() + "\n");
        });
        return sb.toString(); //.toString으로 해줘야 return 가능
    }

    @PostMapping(value = "/member2")
    public String postMemberDto(@RequestBody MemberDto memberDto) {
        return memberDto.toString();
    }
}

0개의 댓글