문제

이 서비스가 주어진다 :

POST /hotel HTTP/1.1

<hotel>
  <a>aaa</a>
  <b>bbb</b>
  <c>ccc</c>
</hotel>

HTTP/1.1 201 CREATED
Location: /hotel/123

서버에서 요청을 처리 할 때 hotel DTD에 대한 요청에서 XML.

질문은 휴식 모범 사례로서 클라이언트가 요청에서 DTD를 언급해야합니다 (DTD를 기반으로 XML 문서를 작성할 때 일반적으로하는 것과 같이)? 아니면 이것이 필요하지 않습니까? DTD는 API 문서에 설명되어 있으므로 클라이언트 서비스 작성자는 DTD 유효성 검사 세부 사항을 알고 있습니다.

도움이 되었습니까?

해결책

글쎄, 당신은 확실히 뱉을 수 있습니다 400 Bad Request 요청 본문이 DTD 검사에 실패한 경우 DTD 참조가 참석할 필요는 없습니다. 당신은 그것을 생략하고 거기에 있다면 사용해야하지만, 그들이 잘못된 DTD를 지정하면 요청을 실패시킬 것입니다. 물론 오류 메시지는 예상 DTD가 무엇인지 나타냅니다.

DTD가 생략되는지 엄격한 적합성 점검을 건너 뛰는 것을 고려할 수 있습니다. 사람들이 소프트웨어를 설정할 때 원하는 것이 더 많지만 성능의 이유로 모든 것이 있다는 것을 알게 된 후에는 출발하기를 원할 수도 있습니다. 일하고 있는.

다른 팁

내가 아는 한, 휴식은 포스트 본체의 내용에 대해 할 말이 없습니다.

분명히, 어쨌든 서버에서 XML을 검증해야하므로, 최선을 다하면 시간과 대역폭을 절약하기 위해 클라이언트가 DTD에 대해 XML을 검증하는 것이 좋습니다. 그러나, 당신은 실제로 그것을 시행 할 방법이 없습니다.

서비스 작가로서의 귀하의 책임은 요청이 DTD를 지칭하는지 여부를 수락하는 것이라고 생각하지만 그것은 단지 내 의견 일뿐입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top