バックエンドからのJsonレスポンスに追加フィールドを追加する予定でした。 このAPIは多くのクライアントによって消費されるため、すべてのクライアントを変更することはできません。 これは、既存のフロントエンドクライアントの機能に影響しますか?バックエンドコードのJSONに余分なフィールドを追加する
答えて
この影響は、クライアントの既存のでしょうか?
我々は、すべてのクライアントを監査することなく知ることができません。
クライアントこの影響は、クライアントの既存のでしょうか?
いいえ、それはないはずですが、...
この影響は、既存のだろうか?
はい。一部のクライアントは、JSONドキュメントのフィールドを列挙することがあります(RPCスタイルのAPI、メタプログラミング、またはリフレクションで一般的です)。彼らは完全に壊れているかもしれないし、そうでないかもしれないが、この場合、結果は不特定である。
だから私は何をしますか?安全なはずの新しいフィールドを追加する
:
は、2つのオプションがあります。全体的なリスクが低いという期待に基づいて最小限の労力をかけ、フィールドを追加するだけです。 (IMOこれは実用的なオプションです。)
あなたは、フィールドを追加する新しいAPIを作成するのいずれか/ V2 /またはので、新しいクライアントがオプトインすることができ、新たなデータと古いに余分なフィールドを持っているいくつかの他のエンドポイントクライアントは影響を受けません。 (これは防弾オプションです。)
(基本的に#2ですが、一時的です)。
適切なソリューションは、APIクライアントの性質と数によって異なります。たとえば、組み込み機器に多数のクライアントがある場合は、おそらく既存のAPIを変更しないでください。 OTOHクライアントがすべて共通ライブラリを使用してAPIとやりとりして簡単に更新できる場合は、まずクライアントライブラリを更新してから、クライアントの大半が更新された後にAPIを更新することができます。
私はこれを簡単に前進することはできますか?
はい、「クライアントが既存のエンドポイントに新しいフィールドを追加することを期待する必要があります」というAPI契約書/設計文書がある場合、これは本質的に安全な操作になります。
全体的な姿勢が下位互換性、廃止予定、およびアップグレードにどのようなものかを検討することは良いことです。今後は、あなたとあなたのクライアントの両方があなたのAPIがどのように進化するかについて同じ期待を持っているように、これを書き留めてください。このようにして、設計文書を参照してこの決定を下すことができ、クライアント作成者はこれを参照して適切なプログラミング上の決定を下すことができます。
- 1. @ManyToMany Hibernateの余分なテーブルに余分なフィールドを追加できますか?
- 2. JOLTのリストに余分なフィールドを追加するには?
- 3. Drupal(6.19)コメントフォームに余分な複数のフィールドを追加する
- 4. ELK Kibanaで余分なフィールドを追加するには
- 5. django-userenaフォームに余分なフィールドを追加する
- 6. オーダーライン[prdocutフィールド]で余分な検索を追加するには?
- 7. Djangoサイトに余分なフィールドを追加する
- 8. Javascript - Ajaxが余分なコンマをJSONレスポンスに追加する
- 9. jsで余分なフィールドを追加する方法
- 10. Dropzone - 余分な値(隠しフィールド)を画像に追加
- 11. 余分なフィールドを追加できますか?
- 12. 余分な行を追加するSQL
- 13. 余分なcodファイルを追加する
- 14. データベース設計の質問(余分なフィールドと追加のテーブル)
- 15. 追加&店舗余分なフィールド - Wordpressのコメント
- 16. 余分なフィールドをリクエストに追加する方法DialogFlow以前のApi.aiに送信されたJSON
- 17. グリッド線に余分なメモフィールドを追加
- 18. JUnitテストケースに余分なテストを追加
- 19. 変数に余分なデータを追加
- 20. lookupeditに余分な列を追加
- 21. PHP:この配列に余分なフィールドと値を追加する方法
- 22. Magentoの注文に余分なフィールドを追加する方法は?
- 23. 余分なフィールドを拡張してDjangoモデルに追加するには?
- 24. sql - SQLデータベースに余分なフィールドを追加する最も良い方法
- 25. PHPコードがjson文字列に余分な文字列を追加する
- 26. Powershell ConvertFrom-Jsonで配列を追加すると、配列の値に余分なスペースが追加されます
- 27. 余分なtd要素を追加
- 28. FullCalendarで余分なカスタムリソーステーブルを追加
- 29. Qt QDockWidget余分なスペースを追加
- 30. リアクトルータ4余分なクエリのparam追加
追加のフィールドを追加すると既存のクライアントに影響するとは考えていません。追加のフィールドは、必要なすべてのデータを取得しているためです。 –
これらのクライアントでJSONをどのように解析するかによって異なります。 – Walk
あなたが正しい形式で応答を送信している限りはそうではありません。また、https://stackoverflow.com/help/how-to-askとMCVEをお読みください。私たちにコードを提示しないと、あなたの問題を解決するために私たちがどのように役立つと期待していますか? – Gautam