技術ブログ

(技術系中心)基本自分用備忘録なので、あくまで参考程度でお願いします。

データフォーマットの指定方法

データフォーマットの指定方法

クライアント側で欲しいデーターフォーマットをどのようにサーバーに伝えれば良いのでしょうか?

1. クエリパラメータを使う方法
2. 拡張子を使う方法 
3. リクエストヘッダでメディアタイプを指定する方法

以上の3パターンが一般的に利用されている方法です。

1. クエリパラメータを使う方法

https://api.example.com/v1/users?format=xml

クエリパラメーターにフォーマット指定することが出来ます。

?format=xml

この部分ですね!

2. 拡張子を使う方法

https://api.example.com/v1/users.json

これはあんまり見ない方法なんですが、ファイルに拡張子をつけるのと同じようにURLの最後に.jsonや.xmlをつけてデータ形式を指定することも可能です。

3. リクエストヘッダでメディアタイプを指定する方法

GET /v1/users 
Host: api.example.com 
Accept: application/json

HTTPリクエストヘッダでメディアタイプを指定することも可能です。

ちなみに複数指定されている場合は先頭に指定されているものから順に見て行って、最初にサポートしているデータ形式を返却します。

この3番が一番よく利用されるパターンのイメージ

参考

Web API: The Good Parts