首页 > 其他分享 >Swagger的简单使用

Swagger的简单使用

时间:2023-06-13 21:35:17浏览次数:43  
标签:springfox 简单 value 参数 使用 评论 Swagger public 描述

1、引入依赖

    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>2.9.2</version>
    </dependency>
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>2.9.2</version> 
    </dependency>

2、配置文件

@Configuration
@EnableSwagger2	//在启动类上或者配置类加 @EnableSwagger2 注解
public class SwaggerConfig {
    @Bean
    public Docket customDocket() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.ziyu.controller"))
                .build();
    }

    private ApiInfo apiInfo() {
        Contact contact = new Contact("子羽", "http://www.my.com", "[email protected]");
        return new ApiInfoBuilder()
                .title("前台接口")
                .description("这个博客666 ")
                .contact(contact)   // 联系方式
                .version("1.1.0")  // 版本
                .build();
    }
}

访问路径:http://localhost:7777/swagger-ui.html

效果:

3、常用注解

@Api:修饰整个类,描述Controller的作用

@RestController
@RequestMapping("/comment")
@Api(tags = "评论相关接口")
public class CommentController {
}

@ApiOperation:描述一个类的一个方法,或者说一个接口

属性:

  • value:方法描述作用

  • notes:方法笔记(展开描述)

@ApiImplicitParams:多个请求参数的描述信息

@ApiImplicitParam:一个请求参数

    @ApiOperation(value = "评论列表")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "pageNum",value = "页号"),
            @ApiImplicitParam(name = "pageSize",value = "每页大小")
    	})
    @GetMapping("/commentList")
    public ResponseResult commentList(Long articleId,Integer pageNum,Integer pageSize){
        return commentService.commentList("0",articleId,pageNum,pageSize);
    }

@ApiParam:单个参数的描述信息

属性

  • name:参数名称

  • value:描述参数作用

  • required:值为boolean类型,表示该参数是否为必要参数,默认为false

@ApiModel:用对象来接收参数

@ApiModelProperty:用对象接收参数时,描述对象的一个字段

@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "添加评论dto")
public class AddCommentDto {
    private Long id;

    //评论类型(0代表文章评论,1代表友链评论)
    @ApiModelProperty(notes = "评论类型(0代表文章评论,1代表友链评论)")
    private String type;
    ...

@ApiResponse:HTTP响应其中1个描述

@ApiResponses:HTTP响应整体描述

@ApiIgnore:是方法或者参数的注解。忽略注解的方法或者参数,不生成帮助文档

@ApiError :发生错误返回的信息

@ApiImplicitParam属性:

属性 取值 作用
paramType 查询参数类型
path 以地址的形式提交数据
query 直接跟参数完成自动映射赋值
body 以流的形式提交 仅支持POST
header 参数在request headers 里边提交
form 以form表单的形式提交 仅支持POST
dataType 参数的数据类型 只作为标志说明,并没有实际验证
Long
String
name 接收参数名
value 接收参数的意义描述
required 参数是否必填
true 必填
false 非必填
defaultValue 默认值

标签:springfox,简单,value,参数,使用,评论,Swagger,public,描述
From: https://www.cnblogs.com/cheeng/p/17478757.html

相关文章

  • [android]使用线控耳机来操控应用功能
    使用线控耳机来操控应用功能  实现原理:通过广播拦截来实现。 (一)定义1个广播拦截器,用来拦截线控耳机按键产生的广播事件。 importandroid.content.BroadcastReceiver;importandroid.content.Context;importandroid.content.Intent;importandroid.os.Bundle;importandro......
  • Java使用for嵌套循环打印九九乘法表
    第一步:构思观看九九乘法表,并使用计算机思维发现其规律。(1)首先,我们需要知道Java的输出可以控制里面的结果在不在一行,所以我们需要观察行与行之间的规律。我们可以把乘法看成b×a=c(2)然后,我们看第二行可以发现“a=2”而且“a=2”在第二行没有变,而“b”在发生变化。并且看第......
  • Java中@Transactional 注解使用注意事项
    隔离级别关键词原子性(Atomicity):事务是数据库的逻辑工作单位,它对数据库的修改要么全部执行,要么全部不执行。一致性(Consistemcy):事务前后,数据库的状态都满足所有的完整性约束。隔离性(Isolation):并发执行的事务是隔离的,一个不影响一个。如果有两个事务,......
  • lspci的输出简单分析
    CentOS系统的输出:可以看到输出分成两部分,编号加设备描述。编号通过冒号":"又分成了三部分,第一个部分是PCIe的domainID,第二个部分是busID,第三个部分是deviceid.functionid。PCI设备的组织形式是一个树形,这表示一个domain可以包含多个bus,一个bus又包含了多个device,一个de......
  • windows下使用minio搭建s3存储,使用laravel和postman进行测试
    1、下载服务端https://dl.min.io/server/minio/release/windows-amd64/minio.exe2、启动服务minio.exeserverd:\data\minio--console-address:9090 可以看到上面有两块ip,分别是9000和9000端口,其中9090是后台管理端地址的端口,9000是前台接口端口3、创建bucket4......
  • JavaCV音视频开发宝典:使用JavaCV读取海康平台或海康网络摄像头sdk回调视频TS码流并解
    《JavaCV音视频开发宝典》专栏目录导航《JavaCV音视频开发宝典》专栏介绍和目录​前言两年前博主写了如何利用JavaCV解析各种h264裸流,《JavaCV音视频开发宝典:使用javacv读取GB28181、海康大华平台和网络摄像头sdk回调视频码流并解析预览图像》,但是随着时间变化,各个厂商sdk也......
  • tcpdump工具使用
    tcpdump采用命令行方式对接口的数据包进行筛选抓取,其丰富特性表现在灵活的表达式上。注意,tcpdump只能抓取流经本机的数据包,不带任何选项的tcpdump,默认会抓取第一个网络接口,且只有将tcpdump进程终止才会停止抓包。例如:1234#显示发往172.18.0.1服务器的数据,端口号指......
  • foxmail过滤器使用
    先在登陆邮件那里新建文件夹,在点击菜单三横那里如图,选择工具,选择过滤器,点击新建,然后照此图做下去,做好后的效果是谁的邮件自动到刚才新建的文件夹里面。 ......
  • 视频汇聚融合平台EasyCVR使用国标级联出现云台控制异常的解决方法
    EasyCVR视频融合平台基于云边端协同一体化架构,具备强大的数据接入、处理及分发能力,平台可提供视频直播、录像、回放、检索、云存储、平台级联、告警、集群、H.265自动转码等功能。有用户反馈,使用EasyCVR通过国标级联到另一个EasyCVR,上级平台使用云台控制出现返回失败的问题,如下......
  • Git(分布式版本控制系统)在Windows下的使用-将代码托管到开源中国(oschina)
    一、Git是什么?    Git---Thestupidcontenttracker,傻瓜内容跟踪器。Git是目前世界上最先进的分布式版本控制系统。二、SVN与Git的最主要的区别?     SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务......