Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。它使得部署管理和使用功能强大的API从未如此简单。Swagger让文件的方法、参数和模型紧密集成到服务器端的代码,允许API始终保持同步。
在软件开发中,常用注解(Annotation)主要用在Java中,并且用于对代码进行标记和说明。下面列举了一些常见的Java注解:
-
与模型相关的注解:
- :用于模型类上,对模型类做注释。
- :用于属性上,对属性做注释。
-
与接口相关的注解:
- :用于controller上,对controller进行注释。
- :用于API方法上,对该API做注释,说明API的作用。
- :用来包含API的一组参数注解,可以简单的理解为参数注解的集合声明。
- :用在注解中,也可以单独使用,说明一个请求参数的各个方面。
-
其他常用注解:
- :用于属性上、set/get方法上,该属性序列化后可重命名。
- :用于属性或者方法上,可格式化日期属性的值。
- 注解:使用这个注解可以代替实体类属性的get和set方法。
- 注解:这个接口在编译时会生成相应的实现类。
- :指定访问方式,如果访问方式不匹配,则无法进行访问。
pom.xml
@Api
@Api注解用在类上,说明该类的作用。可以标记一个Controller类做为swagger文档资源。
案例演示
@ApiOperation
@ApiOperation注解用在方法上,说明方法的作用,每一个url资源的定义。
案例演示
@ApiImplicitParam
@ApilmplicitParam 注解用来描述一个参数,可以配置参数的中文含义,也可以给参数设置默认值,这样在接口测试的时候可以避免手动输入;
paramType
案例演示
@ApiOperation(value="查询单个书本信息",notes = "查询单个书本信息") @ApiImplicitParam(value="书本ID",name="bookid",required = true,dataType = "String",defaultValue = "8f46b5018a6811e9a9c528d24413c293" ) @GetMapping("/querySingleBook") public Book querySingleBook(String bookid){ JsonResponseBody<Book> json = bookService.selectByPrimaryKey(bookid); return json.getData(); }
@ApiImplicitParams
@ApilmplicitParams 如果有多个参数,则需要使用多个 @ApilmplicitParam 注解来描述, 多个 @ApilmplicitParam 注解需要放在一个 @ApilmplicitParams 注解中;
案例演示
@ApiModel和@ApiModelProperty
@ApiModel注解描述一个Model的信息(这种一般用在post创建的时候,使用@RequestBody这样的场景,请求参数无法使用 @ApiImplicitParam注解进行描述的时候;
@ApiModelProperty注解描述一个model的属性。
案例演示
注意:在这里可以不使用@ApiImplicitParam标注Swagger中的参数信息,因为在这里的输入参数是实体对象,而在实体对象中已经使用@ApiModel和@ApiModelProperty注解进行了标识。
@ApiParam
作用在方法的参数上,用来描述接口的参数信息(一个参设置一个)
必须与、和一起使用。
案例演示
添加以下:
修改application.yml文件,配置项目系统的运行环境(dev/test/prod)
使用maven package打包测试
打开CMD,跳转到target目录,输入命令:java -jar .xxx.jar --spring.profiles.active=prod。可以直接打开jar包修改application.yml配置文件中spring.profiles.active属性切换运行环境,具体请参考以下配置:
开发环境:dev; 生产环境:prod; 测试环境:test;
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/24673.html