-1

我正在制作一个 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 将给出正确的代码来表示这一点,并且数据将包含错误的描述,如下所示:

<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>

我的问题很简单:这个回答有意义吗?

有没有我没有考虑到的情况?

人们会在从这样的响应中检索数据时遇到问题吗?

我还能怎么做?

顺便说一句:我不会使用 JSON,讨论结束!

4

1 回答 1

0

根据评论显示错误的新方法。

我不想将错误向上移动并替换“数据”,因为我想保留出现多个错误的可能性。相反,我将“数据”更改为“错误”。

<xml>
    <HttpResponse>418</HttpResponse>
    <errors>
        <error>
            <code>AB43</code>
            <title>document_title_too_long</title>
            <description>The title is limited to 64 characters, yours was 73. </description>
        </error>
        <error>
            <code>AC85</code>
            <title>document_no_category</title>
            <description>You must select a category to save the document. </description>
        </error>
    </errors>
</xml>
于 2013-10-31T13:58:29.310 回答