클라이언트가 ID를 할당 할 수있는 사람들을위한 RESTful 리소스를 원한다고 가정 해 보겠습니다.
사람은 다음과 같습니다. {"id": <UUID>, "name": "Jimmy"}
이제 클라이언트는이를 어떻게 저장 (또는 "PUT")해야합니까?
PUT /person/UUID {"id": <UUID>, "name": "Jimmy"}-이제 우리는 항상 확인해야하는 불쾌한 중복이 있습니다. 본문의 ID가 경로의 ID와 일치합니까?- 비대칭 표현 :
PUT /person/UUID {"name": "Jimmy"}GET /person/UUID보고{"id": <UUID>, "name": "Jimmy"}
- 본문에 ID 없음-위치에만 ID :
PUT /person/UUID {"name": "Jimmy"}GET /person/UUID보고{"name": "Jimmy"}
- 의 어떤 종류의
POSTID를이 클라이언트에 의해 생성되기 때문에 좋은 아이디어처럼 보인다.
일반적인 패턴과 해결 방법은 무엇입니까? 위치에만있는 ID는 가장 독단적으로 올바른 방법처럼 보이지만 실제 구현을 더 어렵게 만듭니다.