You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从Swagger 1(Wordnik)升级到Swagger 3:Spring XML配置替代方案咨询

从Wordnik Swagger升级到Swagger 3(OpenAPI 3)的Bean替代方案

核心替代逻辑

Wordnik是旧版Swagger(1.x/2.x)的实现,Swagger 3对应OpenAPI 3规范,Spring生态下主要通过SpringDoc OpenAPI集成,不再需要手动定义resourceWriter、apiWriter这类Bean,而是通过自动配置+自定义配置类实现相同功能。

具体Bean替代方案

1. swaggerConfig 替代

Wordnik的swaggerConfig负责配置API文档基础信息(标题、版本、描述等),在Swagger3中直接定义OpenAPI类型的Bean即可:
如果用Java配置类:

@Configuration
public class OpenApiConfig {
    @Bean
    public OpenAPI customOpenAPI() {
        return new OpenAPI()
                .info(new Info()
                        .title("你的API标题")
                        .version("1.0.0")
                        .description("API的详细描述")
                        .contact(new Contact().name("维护团队").email("xxx@example.com")))
                .addServersItem(new Server().url("/api").description("默认服务器地址"));
    }
}

如果保留Spring XML配置:

<bean id="customOpenAPI" class="io.swagger.v3.oas.models.OpenAPI">
    <property name="info">
        <bean class="io.swagger.v3.oas.models.info.Info">
            <property name="title" value="你的API标题"/>
            <property name="version" value="1.0.0"/>
            <property name="description" value="API的详细描述"/>
            <property name="contact">
                <bean class="io.swagger.v3.oas.models.info.Contact">
                    <property name="name" value="维护团队"/>
                    <property name="email" value="xxx@example.com"/>
                </bean>
            </property>
        </bean>
    </property>
    <property name="servers">
        <list>
            <bean class="io.swagger.v3.oas.models.servers.Server">
                <property name="url" value="/api"/>
                <property name="description" value="默认服务器地址"/>
            </bean>
        </list>
    </property>
</bean>

2. resourceWriter & apiWriter 替代

Wordnik中的这两个Bean负责生成和输出API文档,在Swagger3中无需手动定义——SpringDoc OpenAPI会自动处理文档生成与暴露:默认通过/v3/api-docs接口返回JSON格式文档,/swagger-ui.html提供可视化UI界面。

如果需要自定义文档输出(比如导出到静态文件),可以通过SpringDoc提供的OpenApiResource或调用OpenAPIService生成文档内容,再自行写入文件,无需依赖专门的Writer Bean。

额外注意事项

  • 移除所有Wordnik相关依赖,引入SpringDoc OpenAPI依赖(Maven示例):
<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
    <version>2.2.0</version> <!-- 使用最新稳定版 -->
</dependency>
  • 原Wordnik注解(如@Api、@ApiOperation等)可逐步替换为OpenAPI 3注解(@Tag、@Operation等),也可暂时兼容,SpringDoc会自动转换旧注解。

内容的提问来源于stack exchange,提问作者RoboRed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 04:27:42