gpt4 book ai didi

java - RESTful 服务能否根据请求 header 为同一资源同时返回 JSON 和 XML?

转载 作者:数据小太阳 更新时间:2023-10-29 02:14:44 25 4
gpt4 key购买 nike

我有一个简单的 RESTful 方法,它当前返回一个对象的 JSON 表示。

我的问题更多是从架构的角度出发,而不是完全技术性的。

RESTful 服务是否应该以同时返回 JSON 和 XML 的方式设计?

据我所知,这是一种不好的做法,应该为此定义单独的资源。一种资源应返回 JSON 数据,另一种应返回 XML。

我的想法正确吗?

最佳答案

同一资源可能会根据请求返回 XML 或 JSON,但不应同时返回两者。您将知道根据请求返回哪一个,因此无需生成两者 - 只需生成您要返回的那个即可。

您可以通过以下方式来决定返回哪个。按顺序计算,当您确定要返回的格式时停止:

  1. 如果已将扩展添加到资源(GET/user/1234.jsonGET/user/1234.xml),请将其用作请求的格式.
  2. 如果设置了 Accept header ,则使用该 header 的值作为请求的格式。
  3. 如果有请求正文(如 POST 的情况),并且 Content-Type header 指定 JSON 或 XML,请使用它。
  4. 如果以上都不适用,请使用默认格式(通常使用 JSON 作为默认格式,除非您的客户通常仍在使用 XML)。

关于java - RESTful 服务能否根据请求 header 为同一资源同时返回 JSON 和 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22362607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com