【问题标题】:localisation in RESTful servicesRESTful 服务中的本地化
【发布时间】:2012-10-17 12:40:57
【问题描述】:

我有一个返回枚举的 RESTful 服务。

当我想到返回字符串将取决于客户端的语言环境时,我正在考虑是否为枚举值返回整数或字符串。

那么您应该如何处理 REST 中的本地化?语言环境是 conneg 的一部分吗?

【问题讨论】:

    标签: web-services rest localization content-negotiation


    【解决方案1】:

    本地化内容协商的一部分,语言首选项使用 Accept-Language 标头 (RFC) 指定。

    RFC 对允许服务返回的内容非常严格——例如,如果没有发送标头,那么您可以选择任何语言,但如果包含标头,那么您只能返回所请求的一种语言,并且不允许退回到其他语言。

    换句话说,如果资源仅提供英文版本,则使用Accept-Language: de 请求的资源应返回406 Unacceptable,而不是默认显示英文版本。

    其他几个问题(82048167892502)讨论了不使用规范但允许回退选项的其他替代方案。

    【讨论】:

    • 从 RFC7231 开始,this is no longer the case。实际上,将响应视为不受内容协商(并默认返回英语)比发送 406 更可取,因为不这样做“会阻止用户访问他们可能能够使用的内容”。跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    • 1970-01-01
    • 1970-01-01
    • 2014-02-07
    • 1970-01-01
    • 2018-10-08
    相关资源
    最近更新 更多