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月前
|
Java API Spring
【一】springboot整合swagger
【一】springboot整合swagger
33 0
|
1月前
|
XML Java 测试技术
【二】springboot整合自定义swagger
【二】springboot整合自定义swagger
21 0
|
1月前
|
Java Spring
Spring Boot3整合knife4j(swagger3)
Spring Boot3整合knife4j(swagger3)
164 1
|
2月前
|
Java API
SpringBoot 整合swagger3.X
SpringBoot 整合swagger3.X
|
2月前
|
Java 应用服务中间件 网络安全
Nginx配置静态页面+springboot应用+swagger+SSL的实现
Nginx配置静态页面+springboot应用+swagger+SSL的实现
|
2月前
|
Java Maven
【SpringBoot专题_02】springboot集成Swagger详细教程
【SpringBoot专题_02】springboot集成Swagger详细教程
|
4月前
|
Java
SpringBoot集成swagger后出现: Failed to start bean ‘documentationPluginsBootstrapper‘的解决方法
SpringBoot集成swagger后出现: Failed to start bean ‘documentationPluginsBootstrapper‘的解决方法
50 0
|
7月前
|
前端开发 Java API
springboot 集成swagger
springboot 集成swagger
77 0
|
8月前
|
人工智能 前端开发 安全
SpringBoot实战(八):集成Swagger
SpringBoot实战(八):集成Swagger