2011-03-02 113 views
1

我想定义如何从我的web API返回XML内容。如何构建REST API XML响应

Web服务器响应的根元素应该总是被称为“Content”,还是应该为每个API调用的响应定义一个(可能)不同的根元素?或者我甚至需要根密钥?

回答

0

我们维护的API具有单个常量根元素。真的取决于你。其他选择可能是每个数据返回类型不同的根,类不同的根,或者如您所说,每个函数的根不同。

我们的API的结构是这样的(不,它是一个标准或任何东西):

<product name common root> 
<class name> 
<function return data>...</function return data> 
</class name> 
</product name common root> 

我们也允许批量调用,所以这有助于确定哪些结果是哪个。

<product name common root> 
<class name> 
<function1 return data>...</function1 return data> 
</class name> 
<class2 name> 
<function2 return data>...</function2 return data> 
</class2 name> 
</product name common root> 
+0

请记住,REST是关于转移资源状态表示的。因此,您的回应需要清楚直观地表达您的资源状态。如果您的资源是“过去30天内发出的所有订单”,并且您使用的是XML,那么您的根元素应该与“订单”类似。如果你有一个资源是“最近的发票”,那么你的根元素应该被命名为“发票”。我不建议为不同类型的资源使用相同的元素名称。 – 2011-03-08 14:04:07

1

我会远离试图自己定义它,并采用像Atom或类似方式包装的标准。正如我在另一个answer中所提到的那样,这种类型的东西有precedent(不管您是使用JSON还是XML)。

1

这类问题表明的原因是多方面的JSON是远远优于XML 数据之一。您不必将的全部内容都命名为

建议:只使用JSON。