Banner
리소스가 다른 두 리소스 : Placeholder
및 Page
과 관련된 REST API를 설계 중입니다. REST API 유효하지 않은 FK로 리소스 게시 후 오류 코드
Placeholder
와 관계 null
될 수 있지만은
Banner
는
Page
관련되어야한다. 비즈니스 규칙은 페이지가 항상 독립적으로 생성되도록 정의합니다. 그런 다음 새로운
Banner
리소스의 경우 페이지가 항상 존재하며 페이지의 ID를 매개 변수로 전달할 수 있습니다. 이것은
null
일 수 있지만
Placeholder
에도 동일하게 적용됩니다.
그래서 저는 다음과 같이 Banner
자원도 (대신 중첩 된 자원의) 독립적으로 생성 할 수 있습니다 결정 :
POST https://api.example.com/banners
{
"name": "banner's name",
"page": "PAGE_ID",
"placeholder": "PLACEHOLDER_ID",
... other parameters
}
page
또는 placeholder
가하는 제공 할 때 API에 의해 반환해야 어떤 오류 코드 존재하지 않습니까?
HTTP 404를 반환하지만 이상하게 느껴집니다. 나는 약 409를 생각했지만, 이것은 갈등처럼 보이지 않는다.
PD : 중첩 된 URL을 POST /pages/<page_id>/banners
으로 사용하면 404는 존재하지 않는 page
에 적합하지만 여전히 placeholder
과 동일한 문제가 있습니다.
(값이 잘못되고 있는지를 나타내는) 당신이 400 잘못된 요청을 반환 무효 POST/pages/page_id/banners '를 사용할 때가 아니라 POST 요청 본문의 형식을 사용합니다. 그리고 그 중 하나를 사용하든 다른 것을 사용하든 자원에 액세스하는 방법에 따라 다릅니다. 그래서 이것은 정확한 복제물이 아닙니다. – andih
@andih 나는 한 번 더 질문을 읽어 본다. 나는 아직도 그것을 복제본으로 본다. OP는 요청 본문에서 보낸 ID를 염려합니다. URL에서 보낸 것의 경우 '404'는 문제의 OP로 작업을 수행합니다. –
@ CássioMazzochiMolin 당신이 고정/주어진 배너 자원의 첫 번째 아이디어를 가지고있는 한. 저자는 이것이 두 번째 방법을 제안했기 때문에 이것이 정확한 형태인지 여부를 확신 할 수없는 것으로 보인다. 두 번째 접근법에서 그는 placeholder를 다루는 방법을 정말로 모른다. 하나는 또 다른 방법을 사용하는 이유와 두 번째 것에 자리 표시자를 추가하는 방법을 설명 할 수 있습니다 .... – andih