-1

少数のクライアント (iOS および Android アプリ) にデータを配信するための JSON API を開発しています。

現在、常に発生している疑問は、JSON をどのような観点から構造化するのかということです。

1) 「クライアント中心」:

JSON キーは、アプリ内の一致する UI 要素にちなんで命名されます。例えば:

{
    "label" : "This is a headline of a news article",
    "textField" : "This is the text of a news article",
}

プロ:

アプリのコンテンツは、アプリの新しいバージョンをリリースすることなく変更できます。UI ラベルの内容を変更する場合は、次のようになります。

{
    "label" : "This is a short abstract of a news article"
}

また、クライアント側の 1 つのビューに関連するデータ モデルを 1 つだけ持つことができる必要があります。

反対:

データ オブジェクト名から UI 要素名への変換が必要なため、サーバー側で混乱が生じる


2) 「データ中心」

JSON キーは、データを配信するデータ エンティティにちなんで命名されます

{
    "articleHeadline" : "This is a headline of a news article",
    "articleText" : "This is the text of a news article"
}

プロ:

JSON API は、それが何をするかを示します。キー名は、キーの内容を明らかにします。

反対:

データ オブジェクト名から UI 要素名への変換が必要なため、クライアント側で混乱が生じる

内容を変更すると、JSON キーの名前も変更されます。

{
    "articleAbstract" : "This is a short abstract of a news article"
} 

これには、API を使用するすべてのアプリのコード変更とデプロイも必要です。


2 つのアプローチのうち、どちらを好みますか。また、その理由は何ですか?

4

1 に答える 1