私のWeb APIはコンテンツネゴシエーションを使用しており、Jsonのレンダリングに使用するカスタムフォーマッタがあります。しかし、少数のアクションでは、asp.netに付属のジェネリックjsonフォーマッタを使用したいと思います。タイプまたはアクションに基づいて使用するフォーマッタ
configureServicesでは、フォーマッタを追加してからJsonOutputFormatterを追加します。
シリアライザを使用するアクションまたはタイプを設定するにはどうすればよいですか?あるいは、ジェネリックフォーマッタがいくつかのタイプまたはアクションを提供することを禁止する方法がありますか?
私のカスタムフォーマッタでフォーマットされるはずのタイプは、いくつかの設定で、標準jsonフォーマッタを使用してフォーマットされます。そして、これは設定から設定に変わります。 たとえば、azureにデプロイされ、ブラウザで実行されているコードから呼び出された場合、acceptヘッダー"application/json, text/plain, */*"
を使用して標準Jsonフォーマッタが使用されます。
私はすでに私のフォーマッタでこれを持っています。この問題は、カスタムjsonフォーマッタの代わりに使用されているジェネリックjsonフォーマッタを制限しています。 – cellik
@cellikであり、ジェネリックjsonフォーマッタではなく、JsonOutputFormatterから継承した独自のフォーマッタを使用して、その振る舞いをオーバーライドすることができます – Set