Swagger2常用注解及其说明 (转)

摘要:
属性名称描述codehttp的状态代码、消息状态的描述和响应状态。默认响应类Void使用方法:@ApiOperation@ApiResponses({@ApiResponse(代码=200,消息=“成功!”)})@GetMappingpublicModelAndViewaclModule{}ApiModel此批注在实体类中使用。属性名称描述值实体类名称描述实体类描述父集成的父类。默认值为“无效”。classubTypes子类,默认值为{}引用依赖项,默认值是“”用法:@ApiModelpublicclassJsonData{}ApiImplicitParams/ApiImplicitParam此注释用于Controller的方法中,与ApiParam具有相同的效果,但建议使用ApiParam。
Api

  用在Controller中,标记一个Controller作为swagger的文档资源

属性名称说明

value

Controller的注解
description对api资源的描述
hidden配置为true 将在文档中隐藏

 

 

 

 

 

使用方法:

1 @Api(value = "登录服务",description = "用户登录相关接口")
2 @RestController("loginControllerLayui")
3 @RequestMapping("/login")
4 public class LoginController {
5 }
ApiOperation

  该注解用在Controller的方法中,用于注解接口

属性名称说明
value接口的名称
notes接口的注释
response接口的返回类型,比如说:response = String.class
hidden配置为true 将在文档中隐藏

 

 

 

 

 

 

使用方法:

@ApiOperation(value = "获取验证码图片",notes = "每调用一次,就会随机生成一张验证码图片",response = String.class)
    @GetMapping("/verifyCode.img")
    public String getVerifyCode(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
    }
ApiParam

  该注解用在方法的参数中。

属性名称说明
name参数名称
value参数值
required是否必须,默认false
defaultValue参数默认值
type参数类型
hidden隐藏该参数

 

 

 

 

使用方法:

@ApiOperation(value = "添加权限",notes = "插入权限",response = JsonData.class)
    @PostMapping("/insertAcl.json")
    public JsonData insertAcl(@ApiParam(name = "param",value = "实体类AclParam",required = true) AclParam param){
}
ApiResponses/ApiResponse

  该注解用在Controller的方法中,用于注解方法的返回状态。

属性名称说明
codehttp的状态码
message状态的描述信息
response状态相应,默认响应类 Void

  

使用方法:

@ApiOperation(value = "菜单",notes = "进入菜单界面",nickname = "菜单界面")
    @ApiResponses({
            @ApiResponse(code = 200,message = "成功!"),
            @ApiResponse(code = 401,message = "未授权!"),
            @ApiResponse(code = 404,message = "页面未找到!"),
            @ApiResponse(code = 403,message = "出错了!")
    })
    @GetMapping("/aclModule.page")
    public ModelAndView aclModule(Model model){
    }
ApiModel

  该注解用在实体类中。

属性名称说明
value实体类名称
description实体类描述
parent集成的父类,默认为Void.class
subTypes子类,默认为{}
reference依赖,默认为“”

  

使用方法:

@ApiModel(value = "JsonData",description = "返回的数据类型")
public class JsonData {
}
ApiImplicitParams/ApiImplicitParam

  该注解用在Controller的方法中,同ApiParam的作用相同,但是比较建议使用ApiParam。

属性名称说明
name参数名称
value参数值
defaultValue参数默认值
required是否必须
allowMultiple是否允许重复
dataType数据类型
paramType参数类型

  

 

 

使用方法:

@ApiOperation(value = "创建用户",notes = "根据User对象创建用户")
    @ApiImplicitParam(name = "user",value = "用户详细实体user")
    @RequestMapping(value="/", method=RequestMethod.POST)
    public String postUser(@ModelAttribute User user){
    }
ApiModelProperty

  该注解用在实体类的字段中。

属性名称说明
name属性名称
value属性值
notes属性注释
dataType数据类型,默认为“”
required是否必须,默认为false
hidden是否隐藏该字段,默认为false
readOnly是否只读,默认false
reference依赖,,默认“”
allowEmptyValue是否允许空值,默认为false
allowableValues允许值,默认为“”

使用方法:

//返回状态信息
    @ApiModelProperty(name = "code",value = "状态code",notes = "返回信息的状态")
    private int code;
    //返回携带的信息内容
    @ApiModelProperty(name = "msg",value = "状态信息",notes = "返回信息的内容")
    private String msg = "";
    //返回信息的总条数
    @ApiModelProperty(name = "count",value = "查询数量",notes = "返回信息的条数")
    private int count;
    //返回对象
    @ApiModelProperty(name = "data",value = "查询数据",notes = "返回数据的内容")
    private Object data;

免责声明:文章转载自《Swagger2常用注解及其说明 (转)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇html 通过input video canvas 打开摄像头 定制相机形象地理解Cookie和Session下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

web项目的四种发布方式(转)

http://blog.csdn.net/zl834205311/article/details/51612207 WebService 四种发布方式总结1. CXF方式 CXF与spring搭建webservice是目前最流行的方式,但是传闻cxf与jdk1.5有些不兼容,我没有遇到过,我遇到的问题是cxf与was6.1.1不兼容,表现在cxf必须的ja...

VB6中如何使用C#开发的WebService进行开发

VB6中如何使用C#开发的WebService进行开发                    伍华聪(http://wuhuacong.com.cn/)   1.         问题描述       在项目开发过程中,我们需要集成已有的权限管理系统,作为它本身的权限控制的模块。但是已有的权限管理系统是采用C#开发的,提供了WebService的权限访问接...

MyBatis的SQL语句映射文件详解

SQL 映射XML 文件是所有sql语句放置的地方。需要定义一个workspace,一般定义为对应的接口类的路径。写好SQL语句映射文件后,需要在MyBAtis配置文件mappers标签中引用 <mapper namespace="com.mybaits.bean.User"> <!-- 将结果集转化成对象 -->...

Java实体类自动生成serialVersionUID的方法

介绍在 Eclipse 和 IntelliJ IDEA 两种IDE中实现自动生成serialVersionUID的方法。 Eclipse 在Eclipse中创建实体类且实现Serializable序列化接口后,在类名所在行左侧有“黄色三角形感叹号提示符”且类名有黄色下划线提示(见下图), 第1步:单击提示符,弹出对话框 第2步:选中对话框中的“Add de...

UML类图一

转自:http://blog.csdn.net/lovelion/article/details/7838679 类图用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型依据。 1.类 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系...

MyBatis

为什么使用mybatis: 在知道为什么使用mybatis之前,我们先了解java如何进行jdbc访问数据库的。第一是从连接池取出或者自己创建Connection对象,第二是从Connection对象中创建出Statement对象,第三,根据Statement对象去执行SQL语句,第四,获取执行SQL语句的返回结果并处理,第五,关闭数据库。在这几个步骤中,...