Jer*_*auw 2 rest asp.net-web-api
我有一组城市,我正在创建一个REST API(我的第一个REST API).每个城市都有许多与语言无关的东西,例如创建日期和人口数量.城市也有依赖于语言的东西,例如标题和简短描述.在城市内部文件具有以下格式:
{
"population": 9042,
"name": {
"en": "Berlin",
"nl": "Berlijn",
// ...
},
// ...
}
Run Code Online (Sandbox Code Playgroud)
我的API的用户总是希望仅查看特定语言的城市信息,并返回如下内容:
{
"population": 9042,
"name": Berlin,
// ...
}
Run Code Online (Sandbox Code Playgroud)
我做了通过这些访问/cities/:id/:language_code,例如cities/123/en.现在我要实施城市列表:GET /cities.那里也需要所要求的语言.由于这会导致/cities/:language_code,我得到的印象是把它放在网址的末尾并不是一个好主意,并怀疑我会更好/en/cities/...whatever....
这通常是如何在REST API中完成的?任何大的,很好实现的API都是一个很好的例子吗?
REST API基于HTTP协议,因此它们可以使用传统上用于定义首选语言环境的标头.
所以我会为此使用一个Accept-Language参数.
# Request
GET /cities/.... HTTP/1.1
Host: www.example.org
Accept-Language: en,en-US,fr;q=0.6
Run Code Online (Sandbox Code Playgroud)
会给:
{
"population": 9042,
"name": Berlin,
// ...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2200 次 |
| 最近记录: |