Spring mvc 在spring mvc项目中更改swagger基本路径

Spring mvc 在spring mvc项目中更改swagger基本路径,spring-mvc,swagger,swagger-ui,Spring Mvc,Swagger,Swagger Ui,我已经在我的springmvc项目中配置了Swagger 在web.xml中,我使用了/rest/*进行servlet映射: <servlet> <servlet-name>mvc-dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-

我已经在我的
springmvc
项目中配置了Swagger

在web.xml中,我使用了
/rest/*
进行
servlet映射

 <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>
的问题是使用swagger ul访问api。斯威格使用
http://localhost:8080/
(在我的本地主机中)以访问API

我试图创建swagger.properties文件来更改基本路径,但没有成功。 ('')

当我将
/rest/*
更改为
/*
时,Swagger ui工作正常,但由于某些原因,我无法这样做


如何更改swagger基本路径以使其正常工作?

如果您已经在localhost:8080/rest/下使用了swagger,我认为您的示例中唯一缺少的是,您可以打开swagger ui index.html文件,查找url参数,并将其更改为公开swagger定义的任何url:

url = "http://localhost:8080/rest/v2/api-docs/swagger.json";
或者确保每当调用swagger ui index.html时,它都有如下内容:

http://localhost:8080/swagger-ui/index.html?url=/rest/v2/api-docs/swagger.json
现在,如果您想更改显示Swagger定义url的路径,可以创建一个从ApiListingResource扩展的类,并覆盖该路径,如下所示:

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

注意:我使用的是RestEasy而不是Spring MVC,但应该非常类似。

如果您已经在localhost下使用了Swagger:8080/rest/我认为您的示例中缺少的唯一一点是,您可以打开Swagger ui index.html文件,查找url参数,并将其更改为显示招摇过市定义的任何url:

url = "http://localhost:8080/rest/v2/api-docs/swagger.json";
或者确保每当调用swagger ui index.html时,它都有如下内容:

http://localhost:8080/swagger-ui/index.html?url=/rest/v2/api-docs/swagger.json
现在,如果您想更改显示Swagger定义url的路径,可以创建一个从ApiListingResource扩展的类,并覆盖该路径,如下所示:

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

注意:我使用的是RestEasy而不是Spring MVC,但应该非常类似。

首先确保您使用的是最新版本(撰写本文时为2.4.0)。我注意到这个链接引用了一个非常旧的版本springfox

更新后,可以使用摘要指定路径映射

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

首先,确保您使用的是最新版本(撰写本文时为2.4.0)。我注意到这个链接引用了一个非常旧的版本springfox

更新后,可以使用摘要指定路径映射

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