带有语言和区域的 REST API 请求

Fil*_*Red 7 java api rest http http-accept-language

我正在开发一个 REST API,我需要实现一种需要语言和国家/地区才能以正确格式生成结果的方法,因为结果包含数字和日期。

我正在使用 HTTPAccept-Language标头来获取语言。规范将标题定义为语言说明符,但现在我不确定使用此标题获取国家/地区是否正确。例如,我想允许结果为西班牙语,但数字为英语格式(用逗号而不是点)。

标题是es-US可接受的值Accept-Language吗?

我在想我可以X-Country为我的 REST API开发一个新的自定义标头。

有什么想法吗?谢谢。

lsc*_*lin 4

有一些关于如何本地化 API 的好文档。甚至还有关于它的堆栈溢出响应

它主要围绕内容协商和“Accept-Language”标头。如果您需要单独管理货币,普遍的共识似乎是保留在有效负载中而不是标头中,但如果您打算做标头,我会这样做 X-Accept-Currency(行为类似于其他 HTTP Accept 标头,但使用 ISO 4217 货币代码)在请求和X-Content-Currency响应上。

更新:事情已经改变 - 如果您打算提交标头以进行标准化,则不应在其前面加上 X 前缀。