SpringBoot 3.0.x使用SpringDoc

发布时间 2023-07-04 22:18:00作者: 满天星9

为什么使用SpringDoc

在Springfox3.0停更的两年里,SpringBoot进入3.0时代, SpringFox出现越来越多的问题,最为明显的就是解析器的问题,已经在上文 中解释清楚,这里就不再赘述。
SpringDoc是Spring官方推荐的API,相信不会轻易停更。

如何引入SpringDoc

SpringDoc有多个版本,如果你使用的是SpringBoot3.0,请确保SpringDoc的版本在2.0以上,本文使用的版本是2.0.2

    implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2'

如何配置

package com.jiahetng.ztj.config;

import io.swagger.v3.oas.models.ExternalDocumentation;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.info.License;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


@Configuration
public class SwaggerConfig {

    @Bean
    public OpenAPI springShopOpenAPI() {
        return new OpenAPI()
                .info(new Info().title("****系统API")
                        .description("****系统 Restfull API")
                        .version("v0.0.1")
                        .termsOfService("https://www.jianshu.com/u/c8c1e5ac61e0")
                        .license(new License().name("****").url("https://www.jiahetng.com")))
                .externalDocs(new ExternalDocumentation()
                        .description("**** Issues Documentation")
                        .url("https://****"));
    }
}

异常

发生异常


 
截屏2023-01-23 下午8.41.25.png

原因是:此版本的swagger前端无法正常解析带 “\” 格式的JSON报文

 
截屏2023-01-23 下午8.44.00.png

解决办法

临时去除Json设置,使用默认设置,就好,更好的优化将在下篇文章更新