私は最近Web APIについて学び、MVCアプリケーションのスケーラビリティを高める計画を立てています。私は最終的にWeb APIコントローラを作成したが、コントローラークラスに適用された[Produces("application/json")]
注釈を発見した。私はその注釈が何をしているのか把握できませんでした。コントローラーがjson入力のみを受け入れるようにしたいので、このタグは私にとって役に立ちますか?データアノテートを生成
3
A
答えて
5
ProducesAnnotationはレスポンスの書式設定にのみ関係します。これは入力を制限する必要がある場合には役に立ちません。
ASP.NETコアMVCフレームワークのProducesAnnotationを使用して、コンテンツのネゴシエーションプロセスを特定の種類のコントローラアクションまたは特定のアクションに誘導できます。あなたができる特定の アクションに対する応答の形式を制限したい場合は、[作成し]フィルタを適用することができます
:ドキュメント(https://docs.asp.net/en/latest/mvc/models/formatting.html)から 。
あなたはあなたのStartup.csタイプJsonInputFormatterの唯一のInputFormatterを持つように起動時にMVCを設定することができ、グローバルレベルでのJSONに入力を制限したい場合。
[コントローラ]または[アクション]レベルで[生産]の対応部分は、[消費]注釈です。
[Consumes("application/json")]
public class MyController : Controller
{
public IActionResult MyAction([FromBody] CallModel model)
{
....
}
}
このコントローラの呼び出しは、クライアントがapplication/jsonのContent-Typeヘッダを提供する場合にのみ成功します。それ以外の場合は、415(サポートされていないメディアタイプ)が返されます。
これが役に立ちます。
関連する問題
- 1. モデルからデータアノテートを取得
- 2. イオン生成のPdf生成
- 3. カラートライアングルを生成
- 4. ビジネスキーを生成
- 5. UIButtonを生成
- 6. マップマーカーを生成
- 7. ランダムパスワードを生成
- 8. フィールド生成メソッドの自動生成
- 9. LaTeX for PDF生成の生成
- 10. licenses.licxを生成中
- 11. laravel5ルートキーを生成
- 12. jstestdriverカバレッジレポートを生成
- 13. Tibble /データフレームコードを生成
- 14. パワーアプリ - PDFを生成
- 15. C#ソリューションテンプレートを生成
- 16. ImageResizerライセンスキーを生成
- 17. "classes.dexを生成中..."
- 18. 私の観測データフレーム(マルチレベルインデックス)を生成するコードを生成
- 19. VueJS webpackで外部スクリプトを生成テンプレートを生成
- 20. gsoapでXMLデータを生成してC++コードを生成する
- 21. インラインJSでページを生成し、CSSでCSSを生成
- 22. ダブルクリックでTextBoxを生成してTextBlockを生成します
- 23. コード生成 - データベーステーブルを参照してDTOを生成する。
- 24. Rails 3:偽のデータを生成してDBを生成する
- 25. ワードプレスでPHPファイルを生成ページを生成
- 26. 派生自動生成エンティティークラス
- 27. PCMを生成中に再生する
- 28. .pdb(デバッグシンボル)を生成/生成する方法は?
- 29. 生成されたテーブルの生成を表示しますか?
- 30. apache cassandraでプライマリキー(自動生成シーケンス)を生成する方法
この設定を1台のコントローラに適用することは可能でしょうか? –
私はConsumesAttributeに関する新しい情報を追加しました。これがあなたの要求を満たすことを願っています。 –
する必要があります。ありがとうございました –