Google은 REST 서비스를 제작하고 있으며 누군가가 존재하지 않는 상위 ID가있는 리소스를 요청할 때 수행 할 작업에 대해 논의합니다.API 개발 : 잘못된 요청 HTTP 상태 코드 (REST)를 반환해야하는 경우
예 : 회사와 관련된 사람들의 목록을 요청하고 있으므로 GET
(ID는 1)이지만 회사 ID는 존재하지 않습니다.
나는 REST의 정의라고 주장 것이라고 우리는 HTTP를 잘못된 요청은 사양에 따라, 단지 잘못된 구문 때문에 단순 수익률 (A HTTP 204 (No Content)
결과) 빈 목록을 것 :
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
형식이 잘못된 구문으로 인해 요청을 서버에서 이해할 수 없습니다. 클라이언트는 수정하지 않고 요청을 반복해서는 안됩니다.
해석해야 할 오류가 없다는 점도 분명합니다. 요청한 리소스가 존재하지 않는다고 생각합니다.
모범 사례에 대한 생각?
여기에 SO 토론이 있습니다 : 좀 더 추상적이지만 HTTP 400 (bad request) for logical error, not malformed request syntax이지만이 글을 게시해야하거나 단순히 그 질문을 사용하면 찢어집니다. 를 찾을 수 없습니다 - 당신이
GET /company/1
을하고 ID를 1로하는 회사가 존재하지 않는 경우
빈 목록에 Jersey (JAX-RS) 기본값을 사용해 보았습니다. null 목록을 반환하면 JSON에서 빈 목록이 표시되고 204 오류도 표시됩니다. 그것이 올바른 행동이라고 말하는 것은 아니지만 데이터 포인트입니다. –