【问题标题】:Is there a default media type for GET and other methodsGET 和其他方法是否有默认媒体类型
【发布时间】:2017-03-08 06:56:12
【问题描述】:

当查询没有在 RESTCONF 中指定任何支持的媒体类型时,是否有任何默认媒体类型?

【问题讨论】:

    标签: ietf-restconf


    【解决方案1】:

    没有。没有标准默认值。这是依赖于服务器实现的,所以不要依赖它。

    来自draft-ietf-netconf-restconf-17, Section 5.3,消息编码:

    服务器必须支持“Accept”标头字段和“406 Not 可接受”状态行,如 [RFC7231] 中所定义。响应 客户端将接受的输出内容编码格式是 用请求中的 Accept 标头字段标识。如果不是 指定,应该使用请求输入编码格式,或者 服务器可以选择任何支持的内容编码格式。

    如果没有请求输入,则默认输出编码为 XML 或 JSON,取决于服务器偏好。文件扩展名编码 请求中不用于识别格式编码。

    来自draft-ietf-netconf-restconf-17, Section 7.1,错误响应消息:

    客户端应该为响应指定所需的编码 通过在 Accept 中指定适当的媒体类型来发送消息 标题。如果客户端没有指定 Accept 头,那么 请求消息中使用的相同结构化语法名称后缀应该 被使用,或者服务器可以选择任何支持的消息编码 格式。如果没有请求消息,服务器必须选择 "application/yang-data+xml" 或 "application/yang-data+json", 取决于服务器偏好。

    【讨论】:

      【解决方案2】:

      正如@predi 所说,最终的 RFC 支持草案:

      Message Encoding, Section 5.2:

      如果没有请求输入,则默认输出编码为 XML 或 JSON,取决于服务器偏好。文件扩展名编码 请求中不用于识别格式编码。

      还有Error Message Response, Section 7.1

      如果客户端没有指定“Accept”标头,那么同样 请求消息中使用的结构化语法名称后缀应该是 使用,或者服务器可以选择任何支持的消息编码 格式。如果没有请求消息,服务器必须选择 "application/yang-data+xml" 或 "application/yang-data+json", 取决于服务器偏好。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-09-14
        相关资源
        最近更新 更多