2016-05-13 15 views
0

私はSwaggerをspring mvcプロジェクトに入れ替えました。私は<code>Spring MVC</code>プロジェクトでSwaggerを設定しました。

私は servlet-mappingため /rest/*を使用していたweb.xmlに

<servlet> 
    <servlet-name>mvc-dispatcher</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>mvc-dispatcher</servlet-name> 
    <url-pattern>/rest/*</url-pattern> 
</servlet-mapping> 

私は以下のURLで闊歩するAPI-docのアクセスすることができ、すべてのものはOKです:

http://localhost:8080/rest/v2/api-docs 

しかしproblemは、APIにアクセスしていますスガッガーulで。 Swaggerは​​(ローカルホスト内)を使用してAPIにアクセスします。

swagger.propertiesファイルを作成してベースパスを変更しようとしましたが、動作しませんでした。 ( 'http://www.3pillarglobal.com/insights/restful-api-documentation-using-swagger-and-spring-mvc')私はこれを行うカント/rest/*/*するのではなく、理由のために変更したときに

enter image description here

威張っ-UIが正常に動作します。

私はそれが正常に動作するようにスワッガーのベースパスを変更することはできますか?

答えて

1

最初に、springfoxのレイトバージョン(この執筆時点では2.4.0)を使用していることを確認してください。リンクには非常に古いバージョンのspringfoxへの参照があることに気付きました。

更新したら、docketを使用してpathMappingを指定することができます。

.... 
docket.pathMapping("/rest") 
... 
1

スワッガーがすでにlocalhost:8080/rest /の下で動作している場合は、あなたのケースで欠けているのは、swagger-ui index.htmlファイルを開き、urlパラメーターを探して何かに変更できる

url = "http://localhost:8080/rest/v2/api-docs/swagger.json"; 

または威張っ-UIのindex.htmlをが呼び出されるたびに、それはこのような何かを持っていることを確認してください:

http://localhost:8080/swagger-ui/index.html?url=/rest/v2/api-docs/swagger.json 

、あなたがしたい場合は、それが闊歩定義を公開していたURLスワッガー定義のURLが公開されているパスを変更すると、

@Path("/rest/v2/api-docs/swagger.{type:json|yaml}") 
public class UMSApiListingResource extends ApiListingResource { 
} 

注::私はMVCの春ではないのRESTEasyを使用していますが、それはかなり似ている必要がありApiListingResourceから延びており、そのようなパスをオーバーライドしたクラス。

関連する問題