問題タブ [springfox]
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.
rest - Swagger モデル スキーマ レスポンス: SpringFox の LocalDate の代替ラベル
Swagger 2.x と SpringFox 2.0 を使用して、Spring MVC で作成された REST サービスを文書化しています。
プロパティ List<LocalDate> 日付を持つ REST 応答があります。
応答のモデル スキーマでは、日付のラベルは「LocalDate」と表示されます。これは意図したものではありません。代わりに「date」または「yyyy-MM-dd」が必要です。
このクラスがあります:
その結果、次のモデル スキーマが生成されます。
モデル スキーマでは、LocalDate を「date」または「yyyy-MM-dd」にしたいと考えています。これを行う方法は com.wordnik.swagger.annotations.ApiModelProperty を使用しているようですが、これには何の効果もありません ( @ApiModelProperty(hidden=true) を追加すると非表示になるため、ピックアップされています)。
問題を示すサンプル休憩プロジェクトを作成しました。
Swagger のモデル スキーマで LocalDate を 'date' または 'yyyy-MM-dd' に変更する方法はありますか?
java - List のようなジェネリック型でフィールドを表す方法swagger-codegen の swagger-spring-mvc で
私は swagger-spring-mvc 0.9.5 を使用しており、応答データに次のようなフィールドがあります。
質問の短いバージョン:この注釈付きの Java から、swagger-codegen 経由でたとえば Objective C にアクセスするにはどうすればよいですか?
それによって生成されるswagger JSONは次のとおりです。
私の同僚はこれを swagger-codegen に入力して Objective C クラスを生成していますが、コンパイルできないコードを生成しています。
NSArray
(内< >
)はプロトコルではないためです。
swagger テンプレート ファイル (mustache) は、各モデルのプロトコルを作成します。そのプロトコルが配列で指定されると、リスト/配列内のデータから正しいモデルを生成するために JSONModel によって取得されます。したがって、この場合、期待される出力は
これにより、NSArray
ofが作成されますMAAccount
(Account
はオブジェクト タイプでありMA
、swagger が既に持っているプレフィックスです)。
Swagger JSON を手動で編集して変更List
するとarray
(さまざまな同様のケースで提案されているように)、出力は正しいですが、この手動の手順は避けたいと考えています。
だから私は使用するswagger-spring-mvcを取得しようとしました"array"
:
しかし、その後、dataType
swagger-spring-mvc 0.9.5 で無視されることが発見され、見た目から、完全修飾 Java クラス名でない限り、springfox 2.0 では無視されます。
swagger-spring-mvc/springfox を使用する"array"
か、他の手段でこれを達成する方法はありますか?
spring-boot - springfox(swagger2) は GsonHttpMessageConverterConfig では機能しません
私が構築しようとしているのは、スプリング ブート (v1.2.3) アプリケーションであり、Rest API を SpringFox(swagger2) v2.0.0 で公開します。
私のSwagger Spring構成
pojo を json に変換するには gson を使用する必要があり、次のようにします。
問題は、 を使用するGsonHttpMessageConverter
と、swagger v2 が間違った json を生成することです。
JSON には値のプレフィックスが付けられ、実際の JSON はエスケープされた文字列になります。
を使用しない場合は、次のようになりGsonHttpMessageConverter
ます。
値とエスケープなしで正しいswagger JSONを作成するソリューションはありますか?
spring-boot - springfox/swagger2 と springboot アプリケーションの統合
私はspringfoxとswagger2が初めてです。springfox/swagger2 を私のスプリング ブート マイクロ サービスと統合して、API ドキュメントを生成しようとしています。
「 http://springfox.github.io/springfox/docs/snapshot/」サイトに記載されている手順に従いました。しかし、API のドキュメント ページを表示できませんでした。
URL「http://localhost:8081/swagger-ui.html」にアクセスしようとすると、ブラウザに「ホワイトラベル エラー ページ」という一般的なエラー ページが表示されます。
アプリケーションで springfox を構成しているときに、どのような間違いを犯しているのかわかりません。
documentation - SpringFox 日付形式からミリ秒へ
SpringFox (Swagger)を使用して REST API を文書化しています。Swagger の優れた機能の 1 つは、サンプル モデルとデータ型の形式を表示することです。
ここで、ミリ秒単位で日付を生成および消費するように API を構成しましたが、サンプルの JSON モデルを見ると、日付形式は次のようになります"2015-09-21T00:51:32.617Z"
。以下のスクリーンショットを参照してください。SpringFox (Swagger) に日付を適切にフォーマットする方法を教えることは可能ですか?
java - Swagger モデル クラス レベルで @Apimodel アノテーションを設定しない
Java rest service.model クラスで swagger を使用してい@apimodel
ます@apimodelproperty
。ハイスワッガー スプリング MVC バージョンを使用すると、データが読み込まれます。しかし、このバージョンには Documention 構成が含まれていないなどのエラーが発生します。この問題を解決する方法.swagger spring MVC?
この Bean は、Spring XML ファイル内に含まれています。
コントローラ HomeController.java
@Apimodel および @Apimodelproperty アノテーションをモデル クラス レベルで表示しないセッターおよびゲッターを支援するモデル クラス
なぜ私はこの問題に直面しているのですか?
java - Springfox を使用して Spring アプリで jax-rs サービスを文書化する
Springfox を使用して既存のアプリの API を文書化したいと考えています。これらの依存関係を pom.xml に追加しました。
Swagger2Controller が選択されるように、swagger パッケージを web.xml の jersey パッケージに追加しました。
アプリケーション コンテキストは、サービスなどの注釈を指定します。
構成クラスは次のようになります。
開始すると、スタック トレースがあります。
これは Swagger を統合するための最良のアプローチですか? もしそうなら、欠落している Bean の修正は何ですか? または、より簡単なアプローチはありますか?
編集:
これを web.xml に追加すると、スタック トレースがなくなります。
ただし、 http://localhost:9090/myapp/v2/api-docsへのクエリは、起動コンソールに次のように表示されていても、404 になります。
編集:
jax-rs を使用して SpringFox URI をマップすることもできます。
しかし、これは SpringFox が必要とする完全なコンテキストを満たしていないため、次のようになります。
java - SpringFox が jax-rs エンドポイントを見つけられない
Using Springfox to document jax-rs services in a Spring app を解決した後、SpringFox の JSON 応答に API が表示されないことがわかりました。
springfox-servlet.xml は次のとおりです。
これはプロパティ ファイルにあります。
Swagger は、リフレクティブ jax-rs スキャナーを使用して実装クラスを見つけるように構成されています。
ドキュメントの構成は次のとおりです。
API アノテーションを使用したサンプル クラスを次に示します。
API を公開しないのはなぜですか? wordnik swagger ライブラリを使用すると、これを解決できますか、または解決策が改善されますか?