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;
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/39559.html