Rest api - 단일 리소스 필드 업데이트
드라이버 리소스에 대한 rest endpoint가 있다고 가정해 보겠습니다.나는 이런 PUT 방법이 있습니다.
myapi/drivers/{id}
{body of put method}
운전자를 '활성화' 및 '비활성화'할 수 있는 기능을 추가해야 합니다.
이렇게 엔드포인트를 새로 만드는 것이 좋은 생각입니까?
PUT myapi/drivers/{id}/enable/false
아니면 기존 엔드포인트를 사용하는 것이 더 낫습니까?기존 엔드포인트를 사용할 때 발생하는 한 가지 문제는 드라이버에 많은 필드가 있다는 것입니다(거의 30개). 이러한 모든 필드를 '활성화' 또는 '비활성화' 드라이버만 업데이트하기 위해 전송하는 것은 과도한 작업입니다.
당신은 어떻게 생각하나요?
이것이 바로 HTTP 방법입니다.PATCH
에 적합합니다.리소스에 많은 필드가 있지만 몇 개만 업데이트하려는 경우에 사용됩니다.
와 마찬가지로PUT
다음으로 요청을 보냅니다.myapi/drivers/{id}
그러나 과는 달리PUT
요청 본문에서 변경할 필드만 보냅니다.
엔드포인트 생성(예:myapi/drivers/{id}/enable
"enable"은 리소스 자체를 호출할 수 없기 때문에 RESTful이 아닙니다.
스프링의 구현 예PATCH
엔드포인트, 이 링크를 참조하십시오.
PATCH Http 메서드를 사용하여 하나의 필드 업데이트
PATCH myapi/drivers/{id}/enable
언급URL : https://stackoverflow.com/questions/47921841/rest-api-update-single-field-of-resource
'programing' 카테고리의 다른 글
단추 사용 안 함 (0) | 2023.08.27 |
---|---|
측정 시 사용자 정의 보기 설명 (0) | 2023.08.27 |
jquery를 사용하여 스크롤바가 없는 브라우저 뷰포트의 높이와 너비를 가져오시겠습니까? (0) | 2023.08.27 |
Spring MVC - 날짜 필드 바인딩 (0) | 2023.08.27 |
XMLHttpRequest.responseType 설정이 갑자기 금지되었습니까? (0) | 2023.08.22 |