是O.K.如果我们的RESTful Web服务不支持XML?

时间:2010-09-10 20:16:46

标签: xml json http rest

我们的网络服务仅支持JSON。如果我们能够或以HTTP错误406响应,我们会回复JSON:如果客户端询问application / xml,则不可接受......是否仍然认为是RESTful?

5 个答案:

答案 0 :(得分:8)

是。 REST原则建立在HTTP协议的原始意图之上。不需要使用XML。实际上,在创建HTTP时,XML甚至不存在......

答案 1 :(得分:1)

您不必提供xml格式,但要准备好与恼人的开发人员打交道。如果您希望广泛使用您的API,您应该尝试让开发人员生态系统满意。

答案 2 :(得分:1)

REST本质上不是面向XML的。

任何媒体类型都可以是资源。

您只需要在HTML Content-Type标头中声明媒体类型。

答案 3 :(得分:0)

就个人而言,我仍然认为它是RESTful。但这可能只是一种意见。

这取决于您的受众。如果他们不要求XML接口,我认为没有理由提供。但是,如果您尝试提供最大范围的支持和客户端,则可能需要考虑添加XML支持。

我有一个只提供JSON的RESTful API,我无意提供XML。

答案 4 :(得分:-1)

那么第一个问题是,如果它不是RESTful那么重要吗?只要API有详细记录并适用于需要使用它的人,我不确定这是一个问题。

其次,REST与请求和响应的内容关系较少,而与请求的制作方式有关。 HTTP中的REST通常意味着每个API调用都使用正确的HTTP方法来响应某些内容,并且URL也代表了某些内容。

例如:

  • GET / foo < - GET请求意味着下载或阅读某些内容
  • POST / foo < - POST表示发送数据或更改
  • PUT / foo / bar < - PUT通常用于上传新资源。通常情况下,当您在URL中输入对象并且成功时,您可以在同一URL重新获取该对象。
  • DELETE / foo / bar < - 应该很明显

例如,如果您的API具有单个URL端点,并且该方法是由POST数据中的某些内容选择的,那么它可能不是RESTful。另一方面,如果每个URL代表一个资源,并且通过遍历URL使用API​​,并且任何改变使用POST / PUT的内容以及查询使用GET的内容的任何内容,则大多数人认为它是RESTful。