본문 바로가기
개발 관련 지식/JAVA

Spring boot - 3. Rest API POST 구현하기

by 권태일1147 2020. 3. 20.

이전 포스트 - 2020/03/19 - [개발 관련 지식/JAVA] - Spring boot - 2. REST API GET 구현하기

 

controller 패키지에 PostController.java를 만든다.

PostController.java 안에 코드를 Post 방식의 메소드를 만든다.

package com.example.test.controller;

import com.example.test.model.InfoVO;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

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

    @RequestMapping(method = RequestMethod.POST, path = "/postRequestApi")
    public InfoVO postRequestApi(@RequestBody InfoVO infoVO){ // post 방식은 data를 body에 받아오기 때문에 RequestBody 어노테이션을 사용한다.
        return infoVO;
    }

    @RequestMapping(method = RequestMethod.POST, path = "/postRequestAnotherApi")
    public InfoVO postRequestAnotherApi(InfoVO infoVO){ // ReqyestBody 어노테이션을 붙여주지 않으니까 body에 넣어준 데이터가 null로 온다.
        return infoVO;
    }
}

프로젝트를 재실행 하고,

크롬 웹스토어에 가서 api test 확장 프로그램을 브라우저에 추가한다.

https://chrome.google.com/webstore/search/api%20test?hl=ko

크롬에 확장 프로그램을 추가했으면 브라우저 우측 상단의 확장 프로그램 아이콘을 눌러서 실행시킨다.

 

아래 그림의 순서대로 진행해서 실행한다.

InfoVO의 data만 JSON 형태로 가져온 것을 확인했다. 다른 데이터는 넣어도 받지 않는다.

 

 

RequestBody 어노테이션을 사용하지 않은 api도 테스트 해본다.

response는 성공했지만 그 안에 데이터가 null로 받아왔다.

 

RequestBody 어노테이션이 없으면 왜 데이터가 null로 오는지 찾아봐야겠다.

'개발 관련 지식 > JAVA' 카테고리의 다른 글

annotation processor 란  (0) 2020.03.21
lombok  (0) 2020.03.20
Spring boot - 2. REST API GET 구현하기  (0) 2020.03.19
Spring boot - 1. 프로젝트 만들기 - IntelliJ  (0) 2020.03.19
자바 설치(JDK)  (0) 2020.03.19