RESTful服务是否可以为同一资源返回JSON和XML,具体取决于请求标头?

 warcraft04 发布于 2023-01-18 14:10

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

我的问题更多的是从架构的角度而不是完全技术性的.

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

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

我是否正确思考?

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

    以下是您可以选择决定返回的方式.按顺序评估,在确定要返回的格式时停止:

      如果已将扩展添加到资源(GET /user/1234.jsonGET /user/1234.xml),请将其用作请求的格式.

      如果设置了Accept标头,请将该标头的值用作请求的格式.

      如果存在请求主体(如POST的情况),并且Content-Type标头指定JSON或XML,请使用它.

      如果以上都不适用,请使用默认格式(通常使用JSON作为默认格式,除非您的客户通常仍在使用XML).

    2023-01-18 14:13 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有