다른 사람들이 Google 서비스를 자체 시스템에 통합 할 수 있도록 API를 만들고 있습니다.API 응답이 충분합니까?
응답을 공식화하는 가장 좋은 방법을 찾는 것은 쉽지 않습니다. 다양한 방법으로 시도해 봤습니다. 여러 번 그것을 아주 저조한하고 자신과 다른 사람들이 그것을 사용하는 데 어려움이 있습니다.
이
내가 그것을 한 적이 방법입니다<xml>
<HttpResponse>200</HttpResponse>
<data>
<report>
<id>200</id>
<date>07.03.2013 11:13:00</date>
<title>Fake report 1</title>
<content>Lorem ipsum dolor sit amet.</content>
</report>
<report>
<id>448</id>
<date>10.04.2013 12:13:34</date>
<title>Fake report 2</title>
<content>Lorem ipsum dolor sit amet.</content>
</report>
<report>
<id>927</id>
<date>25.10.2013 11:49:34</date>
<title>Fake report 3</title>
<content>Lorem ipsum dolor sit amet.</content>
</report>
</data>
</xml>
오류가있을 경우, 다음 HttpResponse에이를 시그널링 화 (signaling)하는 적절한 코드를 제공하고 데이터는 다음과 같이 오류의 descprition이 포함됩니다 :
<xml>
<HttpResponse>418</HttpResponse>
<data>
<error>
<code>AB43</code> /* <<-- this code says what I can search for in the code to find the exact process/line where it failed */
<description>You are the one who messed up!!!</description>
</error>
</data>
</xml>
내 질문은 간단합니다 : 이 응답이 의미가 있습니까?
내가 고려하지 않은 시나리오가 있습니까?
사람들이 다음과 같은 응답에서 데이터를 가져 오는 데 문제가 있습니까?
어떻게해야합니까?
BTW : JSON을 사용하지 않겠습니다.
오류 노드를 데이터 노드가 아닌 루트 수준으로 옮깁니다. 그래서 당신은 오류나 데이터를 얻습니다. 내 의견으로는 이해하고 확인하기가 더 쉽습니다. 그리고 JSON을 사용하려고합니다 .-) –
@RotemHermon JSON은 자세한면에 대해 충분히 이해합니다. 궁극적으로, 두 기술 모두 매우 유사한 목표를 위해 설계되었습니다. 기능상의 차이는 거의 없습니다. – Gusdor
코드 및 설명 외에도 "인덱스가 범위를 벗어남"과 같이 오류의 이름을 추가합니다.이 인덱스는 상수이며 문자열이 같은지 검사 할 수 있습니다. 그런 다음 설명에서 변경할 수있는 세부 정보를 추가합니다. 문자열 비교가 불가능한 세부 정보를 추가하십시오. "허용되는 최대 색인은 35이지만, 제공된 색인은 37"입니다. 이렇게하면 최종적으로 오류를 처리해야하는 코드가 읽고 쓰는 것이 훨씬 쉬워집니다. –