2016-04-18 8 views
0

実際のデータ契約の検証なしにJSON形式を使用するコードがたくさん出てきます。例えば私はJavascriptクライアントへのシリアル化された答えを返すASP.Netサーバーサイドコードを持っています。さらに、このクライアントは、応答内のいくつかの値を使用して、他のサーバー側の呼び出しを行います。あまり頻繁ではありませんが、実際に悪い方法でクライアント側のサーバー側でデータ型を増やした問題があります。私はそのような問題を避けるために適切なビルド時間検証システムを実装する方法を提案しています。JSONからJavascriptへのシリアライゼーション/デシリアライゼーションの有効化

仮説的な例で説明しましょう。クライアントはgetCars(int employeeID) ==>応答オブジェクトにList<CarIDs, CarNames>を呼び出します。 CarIDsを使用すると、UIからgetCarDetails(CarID)への反復呼び出しが行われます。今すぐ以前のデータ型はCarIDintで、最近更新されています。 Javascriptには最大15桁の数字しか扱えないという制限がありました。クライアント側では、いずれの桁も直列化解除されています。これは結果の不正確さを引き起こした。

このような問題を取り除くためにいくつかの検証/契約をどのように実装すればよいか提案があるかどうか教えてください。

答えて

0

JSON Schemaはこの目的のために設計されており、優れたJSON.NETライブラリがサポートしています。

+0

C#コントローラがプレーンクラス(プロパティのみ、メソッドなし)を受け入れるように設定されている場合、マッパーはそのオブジェクトを適切に記入します。配列やネストされたデータを受け付けることさえできます。 –

関連する問題