【任雨杰真帅啊】 4. SpringBoot 整合 Swagger2在线文档

我打算创建一个专栏,主要用于结合八股文和各种场景题来进行代码实践,包括但不限制于集成各种中间件去实现对应的场景和工具封装,该文章为SpringBoot专栏的一个系列,希望大家观看以后帮我多多点赞评论。


大家的点赞和关注是我创作的动力,实属不易,谢谢大家~

Swagger2 是一个开源项目,用于RESTful Web服务生成REST API文档。它提供了一个用户界面,可以通过Web浏览器访问我们的RESTful Web服务,测试接口。
《本文主要参考入门小站文章》 特此说明

📕 引入pom依赖

<!-- Spring Boot Swagger Starter -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-boot-starter</artifactId>
    <version>3.0.0</version>
</dependency>
<!-- Spring Boot Swagger UI Starter -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>3.0.0</version>
</dependency>

📕 添加Swagger配置文件

package com.yjren.yjrenweb.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;

@Configuration
public class SwaggerConfig {

    @Bean
    public Docket docket(){
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.yjren.yjrenweb.controller"))
                .paths(PathSelectors.any()).build();
    }
    private ApiInfo apiInfo(){
        Contact contact=new Contact("Swagger2接口文档", "https://yjren.com", "15835125802@163.com");
        return new ApiInfoBuilder()
                .title("Swagger2接口文档")
                .description("https://yjren.com")
                .contact(contact).build();
    }
}

📕 增加配置,防止版本冲突

# 处理SpringBoot2.6.x与Swagger2 3.0.0版本冲突
spring.mvc.pathmatch.matching-strategy=ant_path_matcher

📕 启动类添加开启Swagger开关

image-20231031231950259

📕 浏览器访问接口文档

浏览器访问http://127.0.0.1:8080/swagger-ui/

📕 Swagger2常用注解

@Api

@Api用在类上,用于说明类功能的说明

@Api(tags = "入门小站Controller入口",value = "页面上看不见的内容")

image-20231031232509340

@ApiOperation

@ApiOperation(value = "方法的作用说明",notes = "方法的备注说明")

image-20231031232534563

@ApiImplicitParams,@ApiImplicitParam
入参数说明

@ApiImplicitParams({@ApiImplicitParam(name = “page”,value = “当前页”),@ApiImplicitParam(name = “pageSize”,value = “分页大小”)})

@ApiImplicitParam其它参数

@ApiImplicitParam:用在@ApiImplicitParams注解中,指定一个请求参数的各个方面
        name:参数名
        value:参数的汉字说明、解释
        required:参数是否必须传
        paramType:参数放在哪个地方
            · header --> 请求参数的获取:@RequestHeader
            · query --> 请求参数的获取:@RequestParam
            · path(用于restful接口)--> 请求参数的获取:@PathVariable
            · body(不常用)
            · form(不常用)    
        dataType:参数类型,默认String,其它值dataType="Integer"       
        defaultValue:参数的默认值

image-20231031232637869

@ApiResponses

明请求返回的状态码及描述

@ApiResponses({@ApiResponse(code = 200,message = "成功"),@ApiResponse(code=201,message = "参数错误")})

image-20231031232710431

@ApiModel

描述实体类

@ApiModel(“用戶信息”)

image-20231031232748516

@ApiModelProperty

描述实体类的属性

@ApiModelProperty(value = "名字",name = "name",example = "入门小站")

image-20231031232822094

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
#1:假设4位学生分别为A、B、C、D,他们的成绩如下: A:80分、75分、85分、90分 B:70分、80分、75分、85分 C:90分、85分、95分、90分 D:95分、80分、90分、85分 按照题目要求,我们需要分别计算每个学生的平均成绩。计算方法就是将每个学生的4门课的成绩加起来,再除以4。计算结果如下: A:(80+75+85+90)÷4=82.5分 B:(70+80+75+85)÷4=77.5分 C:(90+85+95+90)÷4=90分 D:(95+80+90+85)÷4=87.5分 最后,我们按照题目要求,将每位同学的平均成绩打印出来,结果如下: A的平均成绩为82.5分 B的平均成绩为77.5分 C的平均成绩为90分 D的平均成绩为87.5分 #2:假设clsGrads字典中包含三个学生的成绩信息,分别是陈锋、张三和李四。他们的成绩如下: 陈锋:C语言80分,Java78分,C++83分 张三:C语言90分,Java85分,Python92分 李四:C语言85分,Java80分,C#87分 按照题目要求,我们需要计算每个学生的总成绩和平均成绩,并将结果打印出来。计算方法就是将每个学生的各科成绩加起来,再除以总科目数。计算结果如下: 陈锋的总成绩为(80+78+83)=241分,平均成绩为241÷3=80.33分 张三的总成绩为(90+85+92)=267分,平均成绩为267÷3=89分 李四的总成绩为(85+80+87)=252分,平均成绩为252÷3=84分 最后,我们按照题目要求,将每位同学的总成绩和平均成绩打印出来,结果如下: 陈锋的总成绩为241分,平均成绩为80.33分 张三的总成绩为267分,平均成绩为89分 李四的总成绩为252分,平均成绩为84分
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值