학습 목표
1. PUT 방식에 이해 및 실습
2.DTO 만들어 보기
PUT 방식은 HTTP 메서드 중 하나로, 리소스를 생성하거나 업데이트할 때 사용됩니다. 주로 RESTful API에서 특정
리소스를 완전히 대체하거나 수정할 때 사용됩니다.
주요 특징
전체 업데이트:
- PUT 요청은 클라이언트가 서버에 특정 리소스의 전체 데이터를 보내 해당 리소스를 완전히 대체하거나 새로
생성하는 요청이입니다. 즉, 리소스의 일부가 아닌 전체 데이터를 전송하여 갱신합니다.
멱등성:
- PUT 요청은 멱등성을 가집니다. 즉, 동일한 요청을 여러 번 보내도 결과가 동일합니다. 예를 들어, 동일한 데이터를
PUT 요청으로 여러 번 보내도 리소스 상태는 변하지 않습니다.
리소스 식별:
-PUT 요청은 URL을 통해 업데이트할 리소스를 명확히 식별합니다. 예를 들어 /users/1 URL로 PUT요청을 보내면
, ID 가 1인 사용자를 업데이트하거나, 해당 리소스가 존재하지 않으면 새로 생성합니다.
{
"name" : "mike",
"age" : 30,
"car_list" : [
{
"name" : "M3",
"car_number" : "22너 3341"
},
{
"name" : "R8",
"car_number" : "33너 1234"
}
]
}
| DTO 설계
package com.example.demo1.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.ToString;
import java.util.List;
@Getter
@ToString
public class UserDTO2 {
private String name;
private Integer age;
@JsonProperty("car_list")
private List<CarDTO> carList;
// 내부 클래스
@Getter
@ToString
static class CarDTO {
private String name;
@JsonProperty("car_number")
private String carNumber;
}
}
package com.example.demo1.controller;
import com.example.demo1.dto.UserDTO;
import com.example.demo1.dto.UserDTO2;
import org.springframework.web.bind.annotation.*;
@RestController // IoC 대상이 된다.
@RequestMapping("/put")
public class PutApiController {
/**
* 주소 설계
* METHOD - PUT
* http://localhost:8080/put/demo1
*/
@PutMapping("/demo1")
public UserDTO2 put1(@RequestBody UserDTO2 userDTO2) {
System.out.println(userDTO2.toString());
// 리턴타입 Object 내려 주고 있다 -->
// MappingJackson2HttpMessageConverter 객체가 문자열(json) 변환해서 던진다.
return userDTO2;
}
}
728x90
'Spring boot' 카테고리의 다른 글
(스프링 부트 입문) 스프링 부트 익명 블로그 만들어 보기(네이티브 쿼리만사용) 1. 게시글 작성 - 네이티브 쿼리 활용 (0) | 2025.06.20 |
---|---|
(스프링 부트)DELETE 방식에 이해 및 실습 (0) | 2025.06.20 |
(스프링 부트 입문 )POST 방식에 이해 및 실습 (0) | 2025.06.19 |
(스프링 부트 기초)GET 방식과 URL 주소 설계 (5) | 2025.06.19 |
(스프링 부트 입문)스프링 부트 간단한 요청과 응답 동작 방식을 알아보자. (0) | 2025.06.19 |