如果我理解正确,在休息风格中,每个查询(即每个资源上不修改资源状态的每个操作)都应该使用 get 方法在查询字符串中编码,根本没有正文。
我对吗?
好吧,我有几个应用程序通过由 Visual Basic 6 组件处理的 XML 消息与数据库通信。
查询的消息是这样的
<xml>
<service>account</service>
<resource>invoice</resource>
<action>query</action>
<parameters>
<page>1</page>
<page_len>10</page_len>
<order>date</order>
<fields>*</fields>
<conditions>
<date>2009-01-01..2009-01-31</date>
<customer_id>24</customer_id>
</conditions>
</parameters>
</xml>
现在我们正在重新设计我们的 XML 消息,我们希望以这样一种方式来实现,以便它们可以轻松地映射到 RESTful 接口。
在前面的示例中,我们需要“条件”标签以防止参数和条件之间发生冲突(即,如果我有一个名为“订单”、“页面”或类似名称的字段会发生什么......
我们虽然关于发送带有前缀的参数,比如
http://account/invoice/?_page=1&_page_len=10&_order=date&_fields=*&date=2009-01-01..2009-01-31&customer_id=24
和 XML 会是这样的
[...]
<_order>date</_order>
<_fields>*</_fields>
<date>2009-01-01..2009-01-31</date>
<customer_id>24</customer_id>
[...]
我们正在尝试为 crud 操作定义一些非常简单的 XML 格式,并且生成的 XML 可以很容易地映射到 rest 或 JSON。
您将如何在 REST 应用程序中映射这种查询?是否定义了一些标准?还是一些带有杂乱无章/ XML / JSON示例的页面?返回错误或嵌套数据集怎么样?
非常感谢。