問題タブ [nestjs-swagger]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
13913 参照

javascript - dto の型が swagger に表示されないのはなぜですか?

このドキュメントに従って、小さなNest.jsアプリでswaggerドキュメントを設定しています: https://docs.nestjs.com/recipes/swagger

swagger でスキーマを正しく表示するように dto をセットアップするにはどうすればよいですか? より具体的には、ネストされた型です。最上位のキーのみが表示されます。キーの 1 つが何かのタイプである場合、それは空のオブジェクトとして表示されます。これが私が意味することです:

宛先:

闊歩:

swagger の例の値で期待される結果:

これは機能です:

私が試したこと:

  • dto で正確なパラメーターのタイプを置き換えたところ、swagger で適切に表示されます。
  • インターフェイスに対して dto のクロスチェックを行ったところ、「isOnline」に間違ったフィールドを追加したところ、それを見つけて、それが良くないというマークが付けられました。
  • スキーマは闊歩で表示されますが、型付けされた部分ではなく、最上位のみも表示されます。したがって、単なる例の値ではありません。
  • スタック オーバーフローを確認しました。関連するスレッドが 2 つ見つかりましたが、どちらも解決しませんでした。タイプの代わりに sub-dtos を手動で作成することを提案した人もいました。うーん...私はそれをしないほうがいいです。

私は何か間違ったことをしている、またはドキュメントで何かを見逃しています。または、swagger モジュールのパーサーが、json の生成時にタイプ/インターフェースを抽出できない可能性があります。