2017-06-26 19 views
0

現在のところ、状態を持つオブジェクトを持つREST APIに取り組んでいます。ステータスを文字列またはオブジェクトとして返す必要がありますか? プリミティブ型であるフィールドからオブジェクトであるフィールドに変更するのはいつ賢明でしょうか?フィールドをオブジェクトとして返すか、REST APIでJSONのプリミティブ型として返しますか?

[ 
    { 
     "id": 1 
     "name": "Hello" 
     "status": "active" 
    }, 
    { 
     "id": 1 
     "name": "Hello" 
     "status": { 
        "id": 0 
        "name": "active" 
        } 
    } 
] 

答えて

1

については、extensibilityとしてください。また、オブジェクトを使用

は、あなたの場合には、ステータス(f.e. idフィールドを介して)識別し(f.e. name又はdescriptionフィールドを介して)説明する点で責任を分割することができるという利点を追加します。

可能性としてi18nを追加すると、オブジェクトは識別子として文字列を保持する必要があります。

単純なプリミティブでは、これらのことはすべてできません。結論:オブジェクトのために行く。

その他の興味深い注釈はhereです。

1

あなたが渡す必要があるかどうかによって異なります。

異なる状態だけを区別し、クライアント上のその他の関連情報(文字列、翻訳、画像)をいずれかの方法で取得したい場合は、単純な整数値を送信し、クライアント側で列挙型。これにより、データ量が最小限に抑えられます。

サーバー側で1つのステータス内で変更されるデータがある場合は、他にすべてを渡すオブジェクトが必要です。

ただし、可能な限りデータを減らすことがベストプラクティスです。

関連する問題