为什么使用 springfox 和 Swagger2 时 v2/api-docs 是默认 URL?springfox、URL、docs、api

2023-09-07 13:49:17 作者:带着梦想去旅行

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.

springfox swagger2配置成功但无法访问 swagger ui.html的解决方法

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 {...}