SpringBoot增加Swagger

简介: SpringBoot增加Swagger

主页:写程序的小王叔叔的博客欢迎来访👀

支持:点赞收藏关注

1、效果

image.gif2、原理

image.gif

image.gif

大概的内容也就是上面的一样,都是为了解决前后端分离,不浪费人工时间的前提下更新接口,参数,返回值这些的相关解释。

3、pom配置

首先是创建一个Spring Boot项目,加入web依赖,创建成功后;

增加Swagger2相关的pom依赖

<!-- Swagger -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.4.0</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.4.0</version>
        </dependency>
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>swagger-bootstrap-ui</artifactId>
            <version>1.8.7</version>
        </dependency>

image.gif

4、基础swagger配置

4.1新建Swagger配置类

/**
 *  Swagger设置类
 */
@Configuration
//@ComponentScan(basePackages = {"com.personal.pserver.platform.*.controller"})
//配置controller路径下面有,这个路径是包名
@EnableSwagger2
public class Swagger2  {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .pathMapping("/")
                .enable(true)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.personal.pserver"))
               //apis的注释:注释后,可以显示接口名,具体待研究原因
               // .apis(RequestHandlerSelectors.withClassAnnotation(ApiOperation.class))
               // .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
                .paths(PathSelectors.any())
                .build().groupName("后台管理").pathMapping("/");
    }
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder().title("[Person-server]").description("说明[后台管理]").version("1.0").build();
    }
}

image.gif

4.2增加静态请求拦截WebMvcConfigurerAdapter

@Configuration
public class WebMVCConfiguration extends WebMvcConfigurerAdapter  {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
    }
    /**
     * 添加静态资源--过滤
     * @param registry
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("swagger-ui.html")
                .addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/");
        super.addResourceHandlers(registry);
    }
}

image.gif

4.3业务代码中添加api注解

entity中添加

///------------lobok
@Data//注解在类上,相当于同时使用了@Setter+@Getter+@EqualsAndHashCode+@NoArgsConstructor+@ToString
@Builder
@AllArgsConstructor//注解在类上,自动生成全部参数构造方法
@NoArgsConstructor//注解在类上,自动生成空参构造方法
////--------------swagger
@Entity
@Table(name="p_platform")
@TypeAlias("pplatform")
@ApiModel(value = "PlatformEntity", description = "平台基本信息")
public class PPlatformEntity implements Serializable {
    @Id
    @NonNull
    @ApiModelProperty(value = "主键id", dataType = "String")
    private String id;
    @ApiModelProperty(value = "平台基本名称", dataType = "String")
    private String platform_name;
    @ApiModelProperty(value = "基本描述", dataType = "String")
    private String platform_desc;
}

image.gif

4.4 controller注解配置

@RestController
@Api(tags = "平台基本信息管理")
@RequestMapping("/v1/pserver/platform/manager")
public class PlatformController {
    @Autowired
    private PPlatformService platformService;
    @ApiOperation(value = "获取平台基本信息", notes = "获取平台基本信息", httpMethod = "GET")
    @GetMapping(value = "/findPlatformInfo")
    public PPlatformEntity findPlatformInfo(@Param("id") String id) {
        PPlatformEntity pPlatform = platformService.findOnePlatformById(id);
        return pPlatform;
    }
}

image.gif

5、验证结果

image.gif




⚠️注意 ~

💯本期内容就结束了,如果内容有误,麻烦大家评论区指出

如有疑问❓可以在评论区💬或私信💬,尽我最大能力🏃‍♀️帮大家解决👨‍🏫!

相关文章
|
1月前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
54 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
1月前
|
前端开发 Java 程序员
springboot 学习十五:Spring Boot 优雅的集成Swagger2、Knife4j
这篇文章是关于如何在Spring Boot项目中集成Swagger2和Knife4j来生成和美化API接口文档的详细教程。
102 1
|
2月前
|
前端开发 Java Spring
【非降版本解决】高版本Spring boot Swagger 报错解决方案
【非降版本解决】高版本Spring boot Swagger 报错解决方案
|
2月前
|
Java Spring
springboot 集成 swagger 2.x 和 3.0 以及 Failed to start bean ‘documentationPluginsBootstrapper‘问题的解决
本文介绍了如何在Spring Boot项目中集成Swagger 2.x和3.0版本,并提供了解决Swagger在Spring Boot中启动失败问题“Failed to start bean ‘documentationPluginsBootstrapper’; nested exception is java.lang.NullPointerEx”的方法,包括配置yml文件和Spring Boot版本的降级。
springboot 集成 swagger 2.x 和 3.0 以及 Failed to start bean ‘documentationPluginsBootstrapper‘问题的解决
|
3月前
|
Java API Spring
springboot集成swagger
这篇文章介绍了如何在Spring Boot项目中集成Swagger 2.10.0来生成API文档,包括添加依赖、编写配置类、创建接口文档,并使用Knife4j美化Swagger界面。
|
4月前
|
JSON 缓存 Java
Spring Boot集成 Swagger2 展现在线接口文档
本节课详细分析了 Swagger 的优点,以及 Spring Boot 如何集成 Swagger2,包括配置,相关注解的讲解,涉及到了实体类和接口类,以及如何使用。最后通过页面测试,体验了 Swagger 的强大之处,基本上是每个项目组中必备的工具之一,所以要掌握该工具的使用,也不难。
|
3月前
|
Java
SpringBoot 配置 Swagger
SpringBoot 配置 Swagger
40 0
|
前端开发 安全 Java
Swagger——【SpringBoot集成Swagger、配置Swagger、配置扫描接口、配置API分组】
Swagger——【SpringBoot集成Swagger、配置Swagger、配置扫描接口、配置API分组】
Swagger——【SpringBoot集成Swagger、配置Swagger、配置扫描接口、配置API分组】
|
6月前
|
Java Maven
【SpringBoot专题_02】springboot集成Swagger详细教程
【SpringBoot专题_02】springboot集成Swagger详细教程
61 0
|
6月前
|
Java
SpringBoot集成swagger后出现: Failed to start bean ‘documentationPluginsBootstrapper‘的解决方法
SpringBoot集成swagger后出现: Failed to start bean ‘documentationPluginsBootstrapper‘的解决方法
184 0

热门文章

最新文章

下一篇
无影云桌面