問題タブ [swagger-maven-plugin]
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.
maven - swagger-maven-plugin 3.1.0 でオーバーライド モデルを設定する方法
swagger-maven-plugin 3.1.0 および Swagger UI 2.0 (またはそれ以降のバージョン) でオーバーライド モデルを設定するにはどうすればよいですか?
最近、Swagger UI を 1.2 から 2.0 に、swagger-maven-plugin を 2.3 から 3.1.0 にアップグレードしました。
swagger-maven-plugin バージョン 3.1.0 には
overridingModels
、バージョン 2.3 にあったオプションが欠落しているようです。
このオプションにより、 https ://github.com/swagger-api/swagger-core/wiki/overriding-models で説明されているように、特定のデータ型のスキーマ記述をカスタマイズできました。
java - Javadoc を使用して Swagger ドキュメントを生成する
既存の RESTful API セットの Swagger ドキュメントを作成したいと考えています。次の要件があります。
- Swagger Doc をオフラインで生成します (私はhttp://kongchen.github.io/swagger-maven-plugin/を使用しました)。このプラグインは、コンパイル時に Swagger ドキュメントを生成するのに役立ちます。
- Swagger ドキュメントで使用できるように、既存の Javadoc を読み取ります。
これまでのところ、上記のプラグインを使用してポイント 1 を達成できました。既存の REST メソッドの場合:
Swagger ドキュメントを生成できました。@ApiOperation と @ApiResponses を使用すると、ドキュメントの見栄えが良くなります。
ただし、私の質問は、チームの時間を節約するために、すべての開発者に @ApiOperation と @ApiResponses を作成させる代わりに、Javadocs を使用できるかということです。
swagger - swagger-inflector と x-swagger-router-controller および x-swagger-router-model の使用
API の設計に swagger-inflector を使用しています。ドキュメントで指定されているように x-swagger-router-controller と x-swagger-router-model を使用しようとしていますが、指定どおりに機能しません。
私がドキュメントを読んだ方法では、これらのベンダー拡張機能は、存在しない場合はクラスを作成し、「operationId」という名前のメソッドを作成することになっています。ただし、指定どおりに動作しません。(このベンダー拡張機能を処理すると思われるコードを見たところ、拡張機能を処理する必要があるように見えますが、期待どおりにクラスが作成されていません。x-swagger-router-model は目的のクラスを生成します。名前ですが、目的のパッケージではありません)。
inflector.yaml ファイルを使用して modelPackage と controllerPackage を指定すると、これらのパッケージにクラスが作成されますが、生成されたクラスに使用されるパッケージをより細かく制御する必要があります。私は何か間違ったことをしていますか、それともこれは壊れていますか?
次に例を示します。
上記の例から
com/example/api/dto に作成された SomeObjectDTO という名前のモデル クラスを取得できません。inflector.yaml で modelPackage が指定されていない場合、デフォルト パッケージ (io/swagger/...) に作成された SomeObject という名前のモデル クラスを取得します。いずれの場合も生成されるモデル クラス名は SomeObject.java です。
com/example/api/controller/subpkg1 で作成された MyController という名前のコントローラー クラスを取得できません。inflector.yaml で controllerPackage が指定されていない場合、デフォルト パッケージ (io/swagger/...) に作成された "MyPathController" という名前のコントローラー クラスを取得します。いずれの場合も生成されるコントローラ クラスは MyPathController.java です。
これはバグであるか、本当に明らかな何かが欠けているようです。ここに何かポインタはありますか?
spring - Spring コードから Swagger json ドキュメントを生成できません
nginxサーバーが提供するスタンドアロンとしてSwagger-UIをインストールしました。
いくつかのマイクロサービスがあり、Spring Boot アプリから swagger json を実装しようとしています。
したがって、それを正しく理解している場合は、そのjson情報を受け取るために、アプリのswaggerエンドポイントへのURLをswagger-uiで指す必要があります。
どうやってやったの?
グラドルで:
アプリに新しい構成を追加しました:
これを私のコントローラーの1つに追加しました:
次の URL でアプリを呼び出すと、次のようになります。
http://localhost:8080/api-docs
私は得る:
この時点から、正しいjsonファイルを生成し、実際にswagger uiでそれを指すようにしています:
Swagger UI に URL を入力するとすぐに、次のようになります。
これを春のクライアントに追加して、cors を有効にしました。
それは解決しましたが、Springアプリを再起動すると、ブラウザがこのエラーを再び表示します。シークレットモードを使用すると、再び機能します..ローカルキャッシュのあるもの..何か考えはありますか? ありがとうございました。レイ。
java - Swagger アノテーションの生成
swagger アノテーションを含む swagger.json ファイルの生成に問題があります。問題は、配列を使用したマップの生成にあります。
元:
フィールドを持つ @ApiModel があります。
生成すると、次のようになります。
生成された json に基づいて swagger-codegen でクライアント クラスを作成すると、次のように解決されます。
しかし、配列は存在しません。
私が見たことに基づいて、json は次のようになります。
それを機能させる方法はありますか?
私が使用するもの: Dropwizard、Jersey2、Swagger、JAX-RS
java - 闊歩する日付フィールドと日時フィールド
私はswaggerを使用して残りのAPIをテストしています.私のエンティティクラスのプロパティの1つは、日付が必要な日付フィールドです yyyy-mm-dd 形式ですが、swaggerモデルスキーマは、このフィールドを日時ではなく日付/時間として表示しています日付フィールドであるため、日付と時間とゾーンが表示されます。この日時を日付フィールドに変換するにはどうすればよいですか?
私は Java エンティティ クラス TimeEntry.java を持っています。そのプロパティの 1 つは Date です。次のようになります。
このフィールドの場合、swagger UI モデル スキーマでは、フィールドの日付は "date": "2016-01-08T22:34:22.337Z" として表示されますが、これは "date":"2016-01-08" として必要です。
私は次のことを試しました:
1.
2.このコードに従ってみました (OverrideConvertor クラスをオーバーライドします) が、swagger-core 1.3 バージョン mvn リポジトリが見つかりませんでした。利用できるのは 1.5 バージョンのみですhttps://github.com/swagger-api/swagger-core/wiki/overriding-models
- どうやら 1.5 バージョンから、OverrideConvertor クラスを削除したようです https://groups.google.com/forum/#!topic/swagger-swaggersocket/ChiknyHZiP4
助けてください。
java - swagger-maven-plugin は、個々のリクエスト マッピングの「パス」要素を生成しません
swagger-maven-plugin で処理したい単純なエンドポイントがあります。結果の swagger.conf は、個々の @ApiOperations の正しい「パス:」を反映していません。APIのルートは「/api」で、「/api/cluster」にGETとPUTのエンドポイントを追加したい。代わりに、swagger.json 出力の「paths:」句は「/api」です。
クラスに @Api(value="/api") と @RequestMapping(value="/api") を使用した .java ソースと、@RequestMapping(value = "/cluster") を使用したエントリ ポイントを次に示します。
また、swagger-maven-plugin の pom.xml 句は次のようになります。
生成された swagger.json は、GET 句と PUT 句を含む 1 つのエンドポイント "/api" を示しています。
最後に、swagger-maven-plugin の pom.xml エントリ: