2016-10-06 11 views
0

私は開発の面で、コード品質または単に標準を考えていました。これは、たとえば、@GETで同じオブジェクトを管理する場合など、JSONの情報を構造化する最も良い方法ですまたは@PUTメソッド。RESTFUL API上のJSONデータ構造

例を確認してください:

は、データのセットを返す@GETメソッドを持っているAPIを想像して、データのこのセットは、カテゴリが含まれています:あなたが見ることができるように

{.... 
"category":{ 
      "id": 1, 
      "name":"categoryName" 
      }, 
...} 

、カテゴリーは、IDと名前を持つオブジェクトとして定義されます。この情報はUIの目的で明らかにフロントエンドに送信されます。フロントエンドは、このオブジェクトを変更し、バックエンドのデータを更新するために@PUTを行う場合にもかかわらず、cathegoryがで指定されている:あなたがそこに見ることができるように

{.... 
    "category":1, 
...} 

、cathegoryの構造が変更されました。

これを処理し、同じ構造を維持する(最初のスニペットと同じ)か、別のスニペットをもう1つ(例えば2番目のスニペットのように)持つことを考えてください型付きのフロントエンドプログラミング言語は、新しいオブジェクト/属性の作成につながります。

ありがとうございます!

答えて

1

あなたのCategoryオブジェクトは、どのような方法を使用しても同じ構造を保持する必要があります。次

あなたが見ることができるように、特定のCategory

PUT /categories/{id} 

Body 

{ 
    "id": 1, //Technically, this is an optional field 
    "name": "Something has changed", 
    "special": false 
} 

を更新したい場合は、今すぐすべてのCategories

GET /categories 

Response: 

[ 
    { 
     "id": 1, 
     "name": "Something", 
     "special": true 
    }, 
    { 
     "id": 2, 
     "name": "Another", 
     "special": false 
    } 
] 

のリストを返します擬似方法で、構造があります同じ - それはあなたが努力すべきものです。