- [JPA] 5. PUT 방식의 이해2024년 09월 27일
- Song hyun
- 작성자
- 2024.09.27.:13
728x90반응형[JPA] 5. PUT 방식의 이해
1. PUT 방식이란?
-HTTP 메서드 중 하나로, 리소스를 생성하거나 업데이트 할 때 사용된다.
-RESTful API에서 특정 리소스를 완전히 대체하거나, 수정할 때 사용된다.
2. PUT 방식의 특징
(1) 전체 업데이트
-클라이언트가 서버에 특정 리소스의 전체 데이터를 보내, 해당 리소스를 완전히 대체하거나 새로 생성하게 한다.
-즉 리소스의 일부가 아닌 전체 데이터를 전송해 갱신한다.
(2) 멱등성
-PUT 방식은 멱등성을 가지며, 동일한 요청을 여러번 보내도 결과가 동일하다.
(3) 리소스 식별
-URL을 통해 업데이트할 리소스를 식별한다.
3. 시나리오 코트
(1) UserDTO.java
package com.tenco.demo.dto; import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.PropertyNamingStrategies; import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.Data; import lombok.ToString; @Data @JsonNaming(value=PropertyNamingStrategies.SnakeCaseStrategy.class) public class UserDTO { private String name; private Integer age; @JsonProperty("car_list") private List<CarDTO> carList; // 내부 클래스 @Data @ToString static class CarDTO { private String name; @JsonProperty("car_number") private String carName; } }
(2) PutApiController.java
package com.tenco.demo.controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import com.tenco.demo.dto.UserDTO; @RestController // IoC (싱글톤 패턴으로 관리됨) public class PutApiController { /** * 주소 설계 * http://localhost:8080/put/demo1/100 * * @return JSON */ // @PutMapping("/put/demo1/{id}") // public UserDTO putMethodName(@PathVariable(name="id") String id, // @RequestBody UserDTO userDTO) { // System.out.println("id : "+id); // System.out.println("userDTO : "+userDTO); // // 메세지 컨버터 동작 (UserDTO) ->> JSON 반환을 해서 ->> 클라이언트에 응답 처리한다. // return userDTO; // } @PutMapping("/put/demo1/{id}") public UserDTO putMethodName(@PathVariable(name="id") String id, @RequestBody UserDTO userDTO) { System.out.println("id : "+id); System.out.println("userDTO : "+userDTO); // 메세지 컨버터 동작 (UserDTO) ->> JSON 반환을 해서 ->> 클라이언트에 응답 처리한다. return userDTO; } }
728x90반응형'JPA' 카테고리의 다른 글
[JPA] 8. JPA와 하이버네이트란? (0) 2024.09.30 [JPA] 7. 스프링 부트 DB 접근 기술 ORM (0) 2024.09.30 [JPA] 6. DELETE 방식의 이해 (0) 2024.09.27 [JPA] 4. GET 방식과 URL 주소 설계 (1) 2024.09.26 [JPA] 스프링부트에서의 간단한 요청과 응답 동작 방식 (0) 2024.09.26 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)