我正在为预订应用程序设计RESTful API。您可以通过住宿申请清单或详细信息。由于应用程序面向多语言受众,因此(有时)可以使用不同语言进行描述。
现在我不确定如何在住宿的代表中处理这些翻译。如果没有多种语言,我会将“描述”作为一个字段或容纳对象,非常简单。
任何想法如何优雅地解决这个问题?
我当前的想法:添加一个包含文本< - >文化对而不是说明字段和附加子资源/descriptions
的描述列表,以便创建(POST),更新(PUT)和删除(删除)新翻译。
答案 0 :(得分:3)
要以适当的语言检索表示,您只需设置Accept-Language HTTP标头。
请求:
GET /Hotel/345
Accept-Language: fr
响应:
<Hotel>
<Description xml:lang='fr'>Ce edifice est magnifique</Description>
</Hotel>
为了进行更新,您可以只包含多个描述元素,假设您使用xml作为媒体类型格式。
请求:
PUT /Hotel/345
<Hotel>
<Description xml:lang='en'>This building is magnificent</Description>
<Description xml:lang='fr'>Ce edifice est magnifique</Description>
</Hotel>