728x90
PATCH /customers?id=1
{
name : AA,
balance : 0
}
목차
1.PUT 메소드
정의
The HTTP PUT request method creates a new resource or replaces a representation of the target resource with the request payload.
HTTP PUT 메서드는 요청 페이로드를 사용해 새로운 리소스를 생성하거나, 대상 리소스를 나타내는 데이터를 대체합니다.
UPDATE 방식
- 예시
아래와 같은 데이터가 존재한다고 가정합니다.
idbalancename
1 | 100 | A |
2 | 20 | B |
3 | -120 | C |
id=1 인 유저의 데이터를 아래와 같이 두 케이스로 PUT 요청을 보냈다고 했을 때 결과는 다음과 같습니다.
요청 1)
PUT /customers?id=1
{
name : AA,
balance : 0
}
1 | 0 | AA |
2 | 20 | B |
3 | -120 | C |
요청 2)
PUT /customers?id=1
{
name : AA
}
1 | null | AA |
2 | 20 | B |
3 | -120 | C |
즉, 보내지 않은 값은 null로 대체됩니다.
다시 말해서, PUT의 정의처럼 대상 리소스를 나타내는 데이터를 대체합니다.
요청한 URI에 자원이 존재하지 않을 때
새로운 자원을 생성합니다.
PUT /customers?id=4
{
name : D,
balance : 0
}
1 | 100 | A |
2 | 20 | B |
3 | -120 | C |
4 | 0 | D |
2. PATCH 메소드
정의
The HTTP PATCH request method applies partial modifications to a resource.
HTTP PATCH 메소드는 리소스의 부분적인 수정을 할 때에 사용됩니다.
UPDATE 방식
- 예시
위와 똑같은 데이터를 아래와 같이 요청을 보냈다고 가정합니다.
요청 1)
PATCH /customers?id=1
{
name : AA,
balance : 0
}
1 | 0 | AA |
2 | 20 | B |
3 | -120 | C |
요청 2)
PATCH /customers?id=1
{
name : AA
}
1 | 100 | AA |
2 | 20 | B |
3 | -120 | C |
즉, 보내지 않은 값은 그대로 유지되고 있습니다.
요청한 URI에 자원이 존재하지 않을 때
새로운 자원을 생성하지 않습니다.
PUT /customers?id=4
{
name : D,
balance : 0
}
1 | 100 | A |
2 | 20 | B |
3 | -120 | C |
728x90
'스터디 > Spring' 카테고리의 다른 글
[Spring] Springboot 버전에 따른 validation 패키지 (org.hibernate.validator.constraints does not exist) (0) | 2024.07.07 |
---|---|
[Spring] PUT 과 PATCH 사용시 주의할 점 (0) | 2024.07.06 |
[Spring] MultiValueMap 의미와 사용법 (0) | 2024.04.21 |
[Spring] properties와 yml 중 어떤걸 사용할까? (0) | 2023.09.04 |
[Spring] Mybatis resultType과 resultMap (0) | 2023.08.25 |
댓글