json shemaを使用して、C#apiで受信オブジェクトパラメータを検証しようとしています。C#でjsonスキーマを使用してオブジェクトを検証する
void BuildSqlQueryFromSegment(JoinDefinition jsonDef);
JsonDefinitionは、プロパティの多くと、複雑なオブジェクトです: はここに私のAPIプロトあります。プロパティの値は互いに依存しているため、ここではRequired、Min、Maxのような単純なvalidateur属性は使用できません。
一つの解決策は、Object型の代わりに文字列を渡すために、次のようになります。
void BuildSqlQueryFromSegment(string jsonDef) {
// Check shema here, using Json.NET Schema
// if ok, deserialize and get the JsonDefition object instance
}
は、私は非常に簡単にこれをimplmentすることができるよ、しかし、私は、このソリューションはスマートではない見つけます。
void BuildSqlQueryFromSegment([SchemaValidation('MySchemaResourceHere')] JoinDefinition jsonDef);
属性のこの種が存在しています:私が探して
はこのようなものでしょうか?そうでない場合は、どうすれば実装できますか?どのように私はスキームをチェックするために着信応答jsonの文字列に作用することができますか?
ありがとうございました。
newtonsoftのjson.netライブラリにスキーマバリデータがありますが、それは無料ではありません。 http://www.newtonsoft.com/jsonschemaに関する詳しい情報があります。それでも、私はそれを使用していないので、あなたのニーズを満たすかどうかはわかりません。 – mcy