使用Swagger UI设置Api版本

使用Swagger UI设置Api版本,api,rest,swagger,swagger-ui,Api,Rest,Swagger,Swagger Ui,我使用Jersey开发了一个RESTAPI,我们通过swagger ui记录了RESTAPI。不幸的是,我们没有从第1天开始对API进行版本控制。我们现在正在尝试向API添加版本控制 我采取的第一步是尝试更新动态生成的swagger(html)页面显示的API版本。我一直跟踪调用流到swagger-ui.js文件,但我不知道如何更改动态生成页面底部显示的API版本 当前显示在底部的默认值是“API版本:1.0.0” 我读过一些关于ServiceStack的文章,但不幸的是,我正在研究的代码库没有

我使用Jersey开发了一个RESTAPI,我们通过swagger ui记录了RESTAPI。不幸的是,我们没有从第1天开始对API进行版本控制。我们现在正在尝试向API添加版本控制

我采取的第一步是尝试更新动态生成的swagger(html)页面显示的API版本。我一直跟踪调用流到swagger-ui.js文件,但我不知道如何更改动态生成页面底部显示的API版本

当前显示在底部的默认值是“API版本:1.0.0”

我读过一些关于ServiceStack的文章,但不幸的是,我正在研究的代码库没有使用任何类似的东西


请任何人告诉我更新显示的API版本号需要更改/更新的位置/内容?

Swigger UI底部显示的API版本来自Swigger文档

下面是一个招摇过市的文档示例:

{
    "swagger": "2.0",
    "info": {
        "description": "This is a sample server Petstore server.",
        "version": "1.0.0",
        "title": "Swagger Petstore",
    ...
“版本”:“1.0.0”
是默认值,但您可以使用Swagger
@Info
注释更改它:

@SwaggerDefinition(
    info = @Info(
        description = "This is a sample server Petstore server.",
        version = "1.0.1",
        title = "Swagger Petstore"
此文档可以添加到Swagger自动配置过程中扫描的任何类中,如下所示:

注释可以在Swagger自动配置过程中扫描的任何类上,也就是说,它不必在JAX-RSAPI类上,而可以在marker/config接口上


您可以在此处找到一些示例:。有些正在使用Jersey并设置API版本。

您可以添加一个引导servlet来设置Swagger配置bean的参数,如下所述-


这很直截了当-

1. Add a servlet to set the Swagger Bootstrap properties in your deployment descriptior file.
<servlet>
        <servlet-name>SwaggerBootstrap</servlet-name>
        <servlet-class>com.example.util.SwaggerBootstrap</servlet-class>
        <init-param>
            <description>URL Pattern Mapping</description>
            <param-name>paramName</param-name>
            <param-value>uri value</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
    </servlet>

2. Create a servlet and set the Bean properties as below --

public void init(ServletConfig servletConfig) 
{
        try {

            // Setting the BeanConfig for start-up page
            BeanConfig bean = new BeanConfig();
            bean.setScan(true);
            bean.setResourcePackage("com.example.util");
            bean.setBasePath("yourBasePath"));  
            bean.setVersion("1.0");
            bean.setTitle("title"));
            bean.setDescription("description");

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
1。添加servlet以在部署描述符文件中设置Swagger引导属性。
招摇过市
com.example.util.SwaggerBootstrap
URL模式映射
参数名
uri值
2.
2.创建一个servlet并设置Bean属性,如下所示--
公共void init(ServletConfig ServletConfig)
{
试一试{
//设置启动页面的BeanConfig
BeanConfig bean=新的BeanConfig();
setScan(true);
setResourcePackage(“com.example.util”);
setBasePath(“yourBasePath”);
setVersion(“1.0”);
设置标题(“标题”);
setDescription(“description”);
}捕获(IOE异常){
e、 printStackTrace();
}
}

感谢您的回复。你知道我需要用@SwaggerDefinition标记什么吗?恐怕你必须添加
@SwaggerDefinition
注释,因为通过查看
@Info
你可以看到它是用
@Target(ElementType.annotation\u TYPE)
注释的,这使它成为一个类型声明。是的,我已经找到了它。谢谢实际上,我在github项目上打开了一个问题,通过对象配置方法更改了标题和版本。。但是豆子很好用。