[Spring Boot] 스프링 부트 PUT, DELETE 메소드 작성 -5 (@ResponseEntity, @PathVariable)

권경환·2024년 1월 13일

JAVA

목록 보기
5/13
post-thumbnail

PUT 메소드 작성

PUT은 웹서버를 통해 데이터베이스에 존재하는 리소스 값을 업데이트를 하는데 사용됩니다.
PUT 컨트롤러POST와 거의 동일하게 구현되며 리소스를 전달하기 위해 HTTP body를 활용해야합니다.

@ResponseEntity, DTO 객체를 활용한 PUT 메소드 구현

오늘은 DTO 객체와 @ResponseEntity를 이용하여 구현해보겠습니다.
ResponseEntity를 활용하면 상태코드와 결과메시지를 결과값등을 제어해서 보여줄 수 있습니다.

ResponseEntity란?
스프링 프레임워크에는 HttpEntity라는 Header와 Body로 구성된 HTTP 요청과 응답을 구성하는 역할을 하는 클래스가 있습니다.
RequestEntity, ResponseEntityHttpEntity를 상속받아 구현한 클래스이며,
HttpHeader와 Body를 가지고 HTTP 상태코드를 제어할 수 있습니다.

- Controller 코드

// MemberDto 클래스 import 해야함
import com.springboot.study02.dto.MemberDto;

@RestController
@RequestMapping("/api/put")
public class PutController {
    @PutMapping(value = "/test") //http://localhost:8080/api/put/test
    public ResponseEntity<MemberDto> putTest(@RequestBody MemberDto memberDto) {

        return ResponseEntity
                .status(HttpStatus.ACCEPTED) // 응답코드 202를 가지고 있음.
                .body(memberDto);
    }

}

- DTO 구성 코드(Lombok 사용)

//	dto/MemberDto.java
@Getter
@Setter
@ToString
public class MemberDto {
    private String name;
    private int age;
    private String birth;
}

- 응답값

DELETE 메소드 작성

Delete는 웹서버를 통해 데이터베이스에 존재하는 *리소스 값을 삭제할때 사용됩니다.
서버에서 클라이언트로부터 받은 리소스 값을 받아 데이터베이스에 있는 리소스를 조회하고 삭제하도록 합니다.
GET 메소드를 구현할때와 같이 URI에 값을 넣어 요청받는 형식으로 구현됩니다.

- @PathVariable을 활용한 GET 메소드 구현

  1. 메소드의 매개변수와 값을 연결하기 위해 @PathVariable을 명시하며, @DeleteMapping 어노테이션과 @PathVariable에 변수의 이름을 동일하게 작성합니다

  2. 최종 URL에 매개변수를 설정하여 요청하면 아래와 같이 나옵니다.

- 코드

@RestController
@RequestMapping("/api/delete")
public class DeleteController {
    @DeleteMapping(value = "/{variable}")
    public String DeleteVariable(@PathVariable String variable) {
        return variable;
    }
}

- 응답값

profile
성장을 좋아하는 주니어 개발자의 블로그

0개의 댓글