WARファイルでTomcatで実行しているWebアプリケーションをjax-rsで実装し、jax-rsで実装し、jerseyでバインドしています。これらの残りのapisはいくつかのぼんやりした注釈を持っていますが、私はswagger-uiが適切に機能するように見えることはできません。jersey/jax-rsのswagger-uiディレクトリをロードする
Strucure
warFile
+docs
----swagger is here
+web-inf
++web.xml
++lib
----all my jax-rs jars here
+meta-inf
----nothing
私はwarファイルに威張っ-UI htmlファイルを持っているとき、私は私がそう
public class JerseyConfig extends ResourceConfig {
public JerseyConfig() throws Exception {
packages("com.myapp.somefiles");
BeanConfig config = new BeanConfig();
config.setBasePath("rest");
config.setResourcePackage("com.myapp.somefiles");
config.setScan(true);
}
のWeb.xml
<servlet>
<servlet-name>com.myapp.somefile.JerseyConfig</servlet-name>
</servlet>
<servlet-mapping>
<servlet-name>com.myapp.somefile.JerseyConfig</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
を定義したジャージの設定それらにアクセスすることができます。 localhost:8181/warFile/docs。しかし、私はlocalhost:8181/warFile/rest/docsのような私の残りのAPIと同じURLにロードしたいと思っています。localhost:8181/warFile/rest/swaggerでswagger.jsonファイルにアクセスできます。 .json
私のサーブレットやBeanconfigのコンテキストでクラスローダーを使ってswaggerを読み込む必要はありますか? swagger-uiには、/ libディレクトリにあるjar依存関係の1つをパッケージ化することもできます。何とかこれを参照できますか?
あなたはswaggerのURLを提供しているindex.htmlをお持ちですか? http:// localhost:8181/warFile/docsのようなもの? – Suyash
はいlocalhost:8181/warFile/docsを読み込むと、swagger-uiが正しくレンダリングされます。私がしようとしているのは、 'localhost:8181/warFile/rest'にあるjax-rsと同じサーブレットまたはuriパスに接続することです。それは可能なのでしょうか、それとも正しいアプローチですか? – user2524908
このサーバーはSwagger専用ですか?そうであれば正しい方向に進んでいます。 index.htmlで提供したURLは? – Suyash