問題タブ [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.

0 投票する
2 に答える
2354 参照

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 で説明されているように、特定のデータ型のスキーマ記述をカスタマイズできました。

0 投票する
2 に答える
22799 参照

java - Javadoc を使用して Swagger ドキュメントを生成する

既存の RESTful API セットの Swagger ドキュメントを作成したいと考えています。次の要件があります。

  1. Swagger Doc をオフラインで生成します (私はhttp://kongchen.github.io/swagger-maven-plugin/を使用しました)。このプラグインは、コンパイル時に Swagger ドキュメントを生成するのに役立ちます。
  2. Swagger ドキュメントで使用できるように、既存の Javadoc を読み取ります。

これまでのところ、上記のプラグインを使用してポイント 1 を達成できました。既存の REST メソッドの場合:

Swagger ドキュメントを生成できました。@ApiOperation と @ApiResponses を使用すると、ドキュメントの見栄えが良くなります。

ただし、私の質問は、チームの時間を節約するために、すべての開発者に @ApiOperation と @ApiResponses を作成させる代わりに、Javadocs を使用できるかということです。

0 投票する
1 に答える
1161 参照

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 です。

これはバグであるか、本当に明らかな何かが欠けているようです。ここに何かポインタはありますか?

0 投票する
0 に答える
736 参照

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アプリを再起動すると、ブラウザがこのエラーを再び表示します。シークレットモードを使用すると、再び機能します..ローカルキャッシュのあるもの..何か考えはありますか? ありがとうございました。レイ。

0 投票する
0 に答える
486 参照

java - Swagger アノテーションの生成

swagger アノテーションを含む swagger.json ファイルの生成に問題があります。問題は、配列を使用したマップの生成にあります。

元:

フィールドを持つ @ApiModel があります。

生成すると、次のようになります。

生成された json に基づいて swagger-codegen でクライアント クラスを作成すると、次のように解決されます。

しかし、配列は存在しません。

私が見たことに基づいて、json は次のようになります。

それを機能させる方法はありますか?

私が使用するもの: Dropwizard、Jersey2、Swagger、JAX-RS

0 投票する
2 に答える
50331 参照

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. どうやら 1.5 バージョンから、OverrideConvertor クラスを削除したようです https://groups.google.com/forum/#!topic/swagger-swaggersocket/ChiknyHZiP4

助けてください。

0 投票する
1 に答える
3499 参照

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 エントリ: