간단한 유스 케이스가 있습니다. 사용자에게 권한 집합이 있습니다. User 리소스를 만들 때도 Privileges를 만들고 싶지 않습니다. 특권이 이 존재하지 않는이 포함되어 있기 때문에OneToMany가있는 자원에서 Create 작업에 응답하는 올바른 HTTP 상태 코드는 무엇입니까
내가 사용자 리소스를 만들 수 없습니다 : 새로운 권한을 가진 새로운 사용자가 클라이언트에서 오는 경우에 따라서, 나는의 라인을 따라 뭔가로 응답합니다.
이 시점에서 클라이언트는 권한에 대한 생성을 먼저 수행 한 다음이를 사용자에게 추가하고 생성 할 수 있습니다.
문제는 HTTP 응답을를 사용하는 어떤 에러 상태 코드 입니다 :
- 412 - 전제 조건이
- 424 실패 - 나는 또한 고려
실패 종속성 (하지만하지 유스 케이스에 맞게) :
- 400 - 나쁜 R
- 422 equest - 처리 할 수 없음 법인
422를 사용하면 문제가 없습니다. – Evert
422 및 424의 WebDAV 특성을 지적 해 주셔서 감사합니다. 409 충돌이 여기에 적용되지 않는 것 같아서, 나는 무엇을 사용해야할지 잘 모릅니다. CLIENT 요청의 전제 조건은 클라이언트가 사용자 및 권한 생성을 요청한 것이기 때문에 사실입니다. 허용되지 않습니다. – Eugen
412는 If-Unmodified-Since 또는 If-None-Match와 같이 요청 * 헤더에서 클라이언트가 지정한 전제 조건입니다. 그들은 자원 관계에 관한 것이 아닙니다. –