1. POST Method 만들기



controller 패키지에 PostAPIController.java를 생성해준다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package com.example.test.controller;
 
import com.example.test.model.SearchVO;
import org.springframework.web.bind.annotation.*;
 
@RestController
@RequestMapping("/api")
public class PostAPIController {
 
    // http통신할때 post는 body에다 data를 집어넣어서 받아오겠다.
    // @RequestBody에 SearchVO에 있는 값을 매칭해서 보내줘라.
    
    @RequestMapping(method = RequestMethod.POST, path = "/postRequest")
    public SearchVO postRequest(@RequestBody SearchVO searchVo){
        return searchVo;
    }
 
    @PostMapping(value = "/postMapping")
    public SearchVO postMapping(@RequestBody SearchVO searchVo){
        return searchVo;
    }
 
}
cs


위와 같이 POST 메소드를 작성한다.


GET 메소드와는 다르게 POST 메소드는 @RequestBody 어노테이션을 사용한다.

프론트에서 http 통신 시 post 메소드는 data를 body안에 담아서 가져온다.

body에 담아올때 메소드에 진입하면 모델이 가지고 있는 data만 json형태로 받아온다.


2. 테스트 해보기


크롬 웹스토어로 가서 REST API 확장 프로그램을 설치한다.

https://chrome.google.com/webstore/category/extensions?hl=ko



설치가 완료되면 POST 메소드로 json형태의 BODY를 작성하여 Send한다.



Response 200 으로 정상적으로 POST 된 것을 확인했다.



모델(SearchVO)에 있는 data만 json형태로 가져온것을 확인 할 수 있다.

모델에 존재하지 않은 param값을 프론트에서 보내면 @RequestBody에서 받아오지 못한다.


POST 메소드 구현 및 테스트를 완료했다.

+ Recent posts