質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

5703閲覧

Web APIのレスポンスにおいてエンベロープは必要か

sho_cs

総合スコア3541

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

1クリップ

投稿2015/11/21 08:28

Web API のレスポンスのjsonにエンベロープは必要でしょうか?

teratailのAPIのレスポンスでは以下のようにエンベロープが存在します。

json

1{ 2 "meta": { 3 "message": "success" 4 }, 5 "question": { 6 ...

qiitaの場合は存在しません。

json

1[ 2 { 3 "description": "Hello, world.", 4 "facebook_id": "yaotti", 5 "followees_count": 100, 6 "followers_count": 200, 7 ....

みなさんはどちらの方法を採用していますか?

また、ページネーションに関してもHTTPヘッダに埋め込むかjsonに埋め込むかでわかれるところではあると思いますがいかがでしょう?

API設計の参考になるサイト等も回答いただければと思います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

これは時と場合にもよりますが、基本はqiitaのようにフラットな方がいいと思います。
エンベロープを単に複数項目を一つのカテゴリにまとめたい場合に使うと扱いが悪くなるので、無理に使わない方がいいです。
フラットな場合に、他のレスポンスデータと似通ったデータなどがあり人間が見てごっちゃになりやすいもののみエンベロープで括る場合に多少のメリットがあるぐらいでしょうか。(ある程度規模が大きい場合に使うと有効)。あとはメリットが思いつきません。

おすすめ書籍
http://www.amazon.co.jp/Web-API-The-Good-Parts/dp/4873116864

投稿2015/11/21 19:17

matsumoto

総合スコア590

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sho_cs

2015/11/23 11:22

回答ありがとうございます。 エンベロープ使って有効な場合はかなり限られているのですね。 Web API: The Good Partsは参考にされてる方も多いようなので読んでみます。
sho_cs

2015/11/25 05:07

Web API: The Good Parts読んでみました。 JSONPに対応する場合、200を返すことが前提にあるためエンベロープが有効になるということが書かれており納得しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問