API를 설계 할 때 PUT 페이로드에 업데이트중인 리소스의 ID가 포함되어야하는지에 대한 문제가 제기되었습니다.
이것이 우리가 현재 가지고있는 것입니다 :
PUT /users/123 Payload: {name: "Adrian"}
경로 코드는 URI에서 ID를 추출하고 업데이트를 계속합니다.
API의 첫 번째 사용자는 페이로드에서 ID를 허용하지 않는 이유에 대해 의문을 제기합니다.
PUT /users/123 Payload: {id: 123, name: "Adrian"}
허용하지 않는 이유는 페이로드와 URI에서 ID가 복제 되었기 때문입니다.
이것에 대해 좀 더 생각하면 리소스를 URI에 연결합니다.
URI에 ID가 없으면 페이로드를 수정해야합니다.
PUT /no/id/here Payload: {name: "Adrian"} < What user???
하지 말아야 할 이유가 있습니까?
/users
( 'new'를 추가 할 필요가 없습니다).