일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- spring 설정 파일
- 스프링부트 post api
- Spring REST API
- javascript 클래스
- 오라클
- javascript
- 스프링
- 전자정부프레임워크
- REST API
- 자바스크립트
- pom.xml
- spring boot rest api
- 전자정부 샘플
- 자바스크립트 class
- exceptiontransfer
- 인텔리제이
- Spring
- Intellij
- 메이븐
- 디자인 패턴
- 자바스크립트 클래스
- egov
- Spring boot
- 스프링 에러
- Oracle
- spring 에러
- spring boot error
- spring boot post api
- javascript class
- spring boot CRUD
- Today
- Total
빵구의 개발 메꾸기
스프링 부트(Spring Boot)를 활용한 POST REST API 구현 본문
스프링 부트(Spring Boot)를 활용하여 HTTP Method중 하나인 POST REST API를 구현하는 방법에 대해 알아보자.
POST REST API를 활용하는 경우는 여러가지가 있는데 한가지씩 과정을 보여주고자 한다.
@RestController는 해당 class가 RestAPI를 처리하는 Controller로 등록하겠다는 의미에서 사용된다.
<다중 파라미터를 Map으로 받을 경우>
① @PostMapping에 path라는 속성으로 요청이 들어올 세부 URL에 대한 path를 지정해준다.
② REST API 요청 시 body에 담겨 들어오는 데이터들을 받기 위해 메서드의 파라미터 정보에 대해서 @RequestBody를
넣고 타입은 Map으로 설정한다.
③ POST로 설정한 뒤 요청을 보낼 URL인 localhost:8080/api/test/post-method1을 셋팅한다.
④ body안에 json형식의 데이터를 보낼 것이기 때문에 Content-Type은 application/json으로 셋팅한다.
⑤ 데이터를 작성하기 위해 Body를 클릭한다.
⑥ raw를 클릭하고 JSON으로 셋팅한다.
⑦ JSON 형식의 보낼 데이터를 작성한다.
⑧ Send 버튼을 클릭하여 POST REST API를 호출한다.
⑨ return 받은 값을 보면 정상적으로 Body에 담긴 것을 확인할 수 있다.
<잘못된 예시>
① 이번엔 REST API 호출 시 보낸 데이터가 메서드 내부에 정상적으로 들어오지 않을 경우를 보여주고자 한다.
메서드의 파라미터 정보에 @RequestBody를 빼고 설정한다.
② Send 버튼을 클릭하여 POST REST API를 호출한다.
③ return 받은 값을 보면 Body에 아무것도 안담긴 것을 보아 @RequestBody는 반드시 넣어줘야 하는 것을 볼 수 있다.
<다중 파라미터를 VO로 받을 경우>
① API 호출 시 URL에 보낼 데이터의 key 값들에 대해 일치하는 모델 class의 property들을 정의하고 getter setter
메서드를 만든다.
② @PostMapping에 path라는 속성으로 요청이 들어올 세부 URL에 대한 path를 지정해준다.
③ REST API 요청 시 body에 담겨 들어오는 데이터들을 받기 위해 메서드의 파라미터 정보에 대해서 @RequestBody를
넣고 타입은 모델 class로 설정한다.
④ POST로 설정한 뒤 요청을 보낼 URL인 localhost:8080/api/test/post-method2을 셋팅한다.
⑤ 데이터를 작성하기 위해 Body를 클릭한다.
⑥ raw를 클릭하고 JSON으로 셋팅한다.
⑦ JSON 형식의 보낼 데이터를 작성한다.
⑧ Send 버튼을 클릭하여 POST REST API를 호출한다.
⑨ return 받은 값을 보면 정상적으로 Body에 담긴 것을 확인할 수 있다.
<@JsonProperty 활용 방법>
JAVA에서는 카멜 케이스(Camel Case)로 작성되어 있지만 API를 요청하는 쪽에서는
스네이크 케이스(Snake Case)로 데이터를 보내는 경우가 있다.
① 카멜 케이스(Camel Case)인 footSize property에 대해 @JsonProperty("foot_size") 스네이크 케이스(Snake Case)로
설정해주게 되면 API 요청 시 보내는 JSON 데이터의 key 값이 foot_size로 들어와도 footSize로 매핑이 된다.
② @PostMapping에 path라는 속성으로 요청이 들어올 세부 URL에 대한 path를 지정해준다.
③ REST API 요청 시 body에 담겨 들어오는 데이터들을 받기 위해 메서드의 파라미터 정보에 대해서 @RequestBody를
넣고 타입은 모델 class로 설정한다.
④ POST로 설정한 뒤 요청을 보낼 URL인 localhost:8080/api/test/post-method2을 셋팅한다.
⑤ 데이터를 작성하기 위해 Body를 클릭한다.
⑥ raw를 클릭하고 JSON으로 셋팅한다.
⑦ JSON 형식의 보낼 데이터를 작성한다.
⑧ Send 버튼을 클릭하여 POST REST API를 호출한다.
⑨ return 받은 값을 보면 API 요청 시 보낸 JSON 데이터의 key 값과 모델 class의 property와 일치하지 않은 foot_size
까지 정상적으로 Body에 담긴 것을 확인할 수 있다.
'BACK-END > SPRING BOOT' 카테고리의 다른 글
스프링 부트(Spring Boot)를 활용한 DELETE REST API 구현 (0) | 2022.05.11 |
---|---|
스프링 부트(Spring Boot)를 활용한 PUT REST API 구현 (0) | 2022.05.11 |
스프링 부트(Spring Boot)를 활용한 GET REST API 구현 (0) | 2022.05.08 |
REST API 테스트 (0) | 2022.04.17 |
스프링 부트(Spring Boot) 특징 및 어노테이션(Annotation) 활용 (0) | 2022.04.15 |