배경
Patch와 Put차이는 부분적으로 수정하는 것과, 리소스 전체를 교체한다는 차이가 있다.
하지만 Patch의 동작방식(..?!)에 대해서는 처음들어봐서 한번 무엇인지 알아보려고 한다.
JsonPatch vs JsonMergePatch
대표적으로 JsonPatch와 JsonMergePatch방식이 있다고 한다.
- JsonPatch
- json 형식에 아래와 같이 명령어 형식을 통해 동작을 명시한다.
- op는 수행해줄 명령어를 적어줄 수 있다.(replace, add, remove, move ... 등) 적어준 명령대로 동작하게 된다.
- path와 value는 json의 key-value를 의미한다. 해당 path위치의 값을 value라는 값으로 동작(op에 명시된 동작)을 수행한다.
- 헤더의 content-type : application/json-patch+json
[
{
"op": "replace",
"path": "/field_1",
"value": "data_1",
},
{
"op": "add",
"path": "/field_1/field_2",
"value": "data_2",
},
{
"op": "remove",
"path": "/field_3",
}
]
- JsonMergePatch
- 수정하고자 하는 필드값만 json형식으로 만들어서 요청한다.
- 명시한 데이터만 merge되어 변경 된다.
- content-type : application/merge-patch+json
결국 그동안 프로젝트에서는 JsonMergePatch 방식을 사용하고 있었던 것이다.
Patch에도 여러가지 사용법이 있었다니.. 재밌네요(..?)
JsonMergePatch 방식이 JsonPatch보다는 간단해보인다.
변경 작업이 일어날 때마다 JsonPatch를 사용하면 복잡하고 귀찮은 작업이 될 것 같다.
'궁금한 내용은 바로 알아보기!' 카테고리의 다른 글
[모호하면 바로] Nginx는 어디에 사용되는걸까? (1) | 2024.10.14 |
---|---|
[모호하면 바로] JWT(토큰)의 보안 취약점과 해결 방법? (0) | 2024.09.18 |
[모호하면 바로] 해시함수가 머야? 인코딩이랑의 차이는? (0) | 2024.09.18 |
[모호하면 바로] 인덱스가 왜 B트리를 사용할까? (0) | 2024.09.18 |
[모호하면 바로] CORS 알아보기 (0) | 2024.09.18 |