使用springfox和Swagger2时,为什么v2 / api-docs是默认URL? [英] Why is v2/api-docs the default URL when using springfox and Swagger2?

查看:688

我刚开始使用swagger这个指南,但我发现了一些非常奇怪的东西,对我来说没有意义。



据我记忆,当你使用v2 / api-docs时应该使用有你的API版本号2的文档。



所以,默认应该只是api-docs,但由于一些奇怪的原因我发现默认是v2 / api-docs。



检查我找到的库文档这个



如何覆盖该值而不能在以后不能用v2? (当我的API将达到v2但我也想展示旧版文档)。



或许我使用v2的概念是错误的?有人可以帮我吗?


解决方案

/ v2 / api-docs URL是SpringFox用于文档的默认值。 v2 未引用您的API文档版本(可在 Docket 配置中更改),但版本正在使用的Swagger规范。请查看此处的文档,以便自定义Swagger文档URL。简而言之,您需要修改环境属性以更改文档显示的URL:



  springfox.documentation.swagger。 v2.path = / my / docs 


这将改变SpringFox Swagger文档的默认URL code> / v2 / api-docs 指定的任何内容。要实现此功能,请将以上属性添加到新的或现有的属性文件中,然后将其作为属性源添加到Springfox配置类中:



  @PropertySource("classpath:swagger.properties")
@Configuration
public class SwaggerConfig {...}

  • 原文

I'm just starting using swagger following this guide, but I found out something very weird that makes no sense for me.

As far as I remember , the v2/api-docs should be used for when you have docs of the version number 2 of your API.

So, the default should be only api-docs, but for some strange reason I found that the default is v2/api-docs.

Checking the library doc I found this.

How do I override that value without later not being able to use v2? (when my API will reach a v2 but I will also want to show the legacy docs).

Or maybe my concept of using v2 is wrong? Can someone help me with this?

解决方案

The /v2/api-docs URL is the default that SpringFox uses for documentation. The v2 does not refer to your API's documentation version (which can be changed in the Docket configuration), but the version of the Swagger specification being used. Take a look at the documentation here for customizing the Swagger documentation URL. In short, you need to modify an environment property to change the URL your documentation will appear at:

springfox.documentation.swagger.v2.path=/my/docs

This will change the default URL for the SpringFox Swagger documentation from /v2/api-docs to whatever you specify. To implement this, add the above property to a new or existing properties file, and then add it as a property source in your Springfox configuration class:

@PropertySource("classpath:swagger.properties")
@Configuration
public class SwaggerConfig {...}