일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 에러
- spring boot CRUD
- Spring
- 스프링
- spring boot rest api
- 스프링 에러
- REST API
- Spring boot
- 자바스크립트
- 메이븐
- spring boot error
- javascript class
- exceptiontransfer
- spring 설정 파일
- 스프링부트 post api
- Oracle
- 자바스크립트 class
- Intellij
- javascript
- spring boot post api
- egov
- 전자정부 샘플
- javascript 클래스
- 자바스크립트 클래스
- pom.xml
- Spring REST API
- 오라클
- 인텔리제이
- Today
- Total
빵구의 개발 메꾸기
스프링 부트(Spring Boot)를 활용한 DELETE REST API 구현 본문
스프링 부트(Spring Boot)를 활용하여 HTTP Method중 하나인 DELETE REST API를 구현하는 방법에 대해 알아보자.
@RestController는 해당 class가 RestAPI를 처리하는 Controller로 등록하겠다는 의미에서 사용된다.
<구현 방법>
① @DeleteMapping에 path 속성은 생략하고 세부 URL에 대한 path를 지정해준다.
이 때 요청을 보내는쪽에서 /path-variable 뒤에 보낸 데이터를 대해 받기 위해서는 {}안에 변수명을 지정해주고
이 변수명은 ②의 @PathVariable의 userId 속성에 값과 일치해야 한다.
② {}안에 변수명에 대해 @PathVariable의 userId 속성에 값과 일치해야 하며 변수명으로 들어온 값은
long userId에 담기게 된다.
③ 요청을 보내는쪽에서 ? 뒤의 쿼리 파라미터에 대한 데이터를 대해 받기 위해서 @RequestParam를 넣고 타입 뒤에 있는 변수명에는 API 요청 시 쿼리 파라미터에 작성한 key=value에서의 key와 일치해야 한다.
④ DELETE로 설정한 뒤 요청을 보낼 URL인 localhost:8080/api/test/delete-method/5?userName=bkjo를 셋팅한다.
⑤ Send 버튼을 클릭하여 GET REST API를 호출한다.
⑥ 정상적으로 delete가 됐기 때문에 Body 부분에 아무것도 담기지 않은 것이다.
⑦ 인텔리제이(Intellij)의 console창을 보면 정상적으로 userId, userName 값이 출력 된 것을 확인할 수 있다.
<잘못된 예시>
① @DeleteMapping에 path 속성은 생략하고 세부 URL에 대한 path를 지정해준다.
이 때 요청을 보내는쪽에서 /path-variable 뒤에 보낸 데이터를 대해 받기 위해서는 {}안에 변수명을 지정해주고
이 변수명은 ②의 @PathVariable의 userId 속성에 값과 일치해야 한다.
② {}안에 변수명에 대해 @PathVariable의 userId 속성에 값과 일치해야 하며 변수명으로 들어온 값은
long userId에 담기게 된다.
③ 요청을 보내는쪽에서 ? 뒤의 쿼리 파라미터에 대한 데이터를 대해 받기 위해서 @RequestParam를 넣고 타입 뒤에 있는 변수명에는 API 요청 시 쿼리 파라미터에 작성한 key=value에서의 key와 일치해야 한다.
④ DELETE로 설정한 뒤 요청을 보낼 URL인 localhost:8080/api/test/delete-method/5?name=bkjo를 셋팅한다.
⑤ Send 버튼을 클릭하여 GET REST API를 호출한다.
⑥ API 요청 시 보내는 쿼리 파라미터를 보면 name=bkjo로 보내고 있는데 받는 쪽에서는 @RequestParam String
userName으로 받고 있기 때문에 Bad Request에 해당하는 400code 에러가 발생했다.
name으로 보냈으면 받는 쪽도 name으로 동일하게 매핑이 되어야 한다.
⑦ 인텔리제이(Intellij)의 console창을 보면 다음과 같이 key가 userName인 parameter가 들어와야되는데 찾을 수 없다는
에러가 출력 된 것을 확인할 수 있다.
'BACK-END > SPRING BOOT' 카테고리의 다른 글
스프링 부트(Spring Boot) HttpMessageNotReadableException 에러 해결 (0) | 2022.05.12 |
---|---|
스프링 부트(Spring Boot) HttpMediaTypeNotSupportedException 에러 해결 (0) | 2022.05.12 |
스프링 부트(Spring Boot)를 활용한 PUT REST API 구현 (0) | 2022.05.11 |
스프링 부트(Spring Boot)를 활용한 POST REST API 구현 (0) | 2022.05.08 |
스프링 부트(Spring Boot)를 활용한 GET REST API 구현 (0) | 2022.05.08 |