5

多言語RESTAPIの構築を始めたばかりですが、多言語を適切に統合する方法に関して従うべき規則があるかどうかわかりません。

以下は私が思いついた代替案のリストですが、どれが最も理にかなっているのかわかりません。

オプション1:
URIの言語変数:http://myapi.com/en/users/john

オプション2:
翻訳クライアント側のエラーコードのみを返す: GET http://myapi.com/users/john => HTTP 404 {status: false, error_code: "321"}

オプション3:
利用可能なすべての言語で戻る:GET http://myapi.com/users/john => {status: false, error_en: "User not found", error_sv: "Anvandaren finns inte"}

4

1 に答える 1

10

表現の自然言語のネゴシエーションに関するコンテンツネゴシエーションの場合、HTTPはリクエストヘッダーAccept-Languageを提供します。

Accept-Language: da, en-gb;q=0.8, en;q=0.7

可能であれば、サーバーは応答ヘッダーContent-Languageを使用してこの要求に応答します。

Content-Language: da

リソースが言語ごとに異なるリソースである場合にのみ、その言語はURIの一部である必要があります。そうでない場合は、コンテンツネゴシエーションを使用する必要があります。

于 2012-11-06T11:27:31.930 に答える