• swagger注解


    API详细说明

    注释汇总

    作用范围API使用位置
    对象属性 @ApiModelProperty 用在出入参数对象的字段上
    协议集描述 @Api 用于controller类上
    协议描述 @ApiOperation 用在controller的方法上
    Response集 @ApiResponses 用在controller的方法上
    Response @ApiResponse 用在 @ApiResponses里边
    非对象参数集 @ApiImplicitParams 用在controller的方法上
    非对象参数描述 @ApiImplicitParam 用在@ApiImplicitParams的方法里边
    描述返回对象的意义 @ApiModel 用在返回对象类上

    @RequestMapping此注解的推荐配置
    value
    method
    produces

    示例:

        @ApiOperation("信息软删除")
        @ApiResponses({ @ApiResponse(code = CommonStatus.OK, message = "操作成功"),
                @ApiResponse(code = CommonStatus.EXCEPTION, message = "服务器内部异常"),
                @ApiResponse(code = CommonStatus.FORBIDDEN, message = "权限不足") })
        @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", dataType = "Long", name = "id", value = "信息id", required = true) })
        @RequestMapping(value = "/remove.json", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
        public RestfulProtocol remove(Long id) {
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
        @ApiModelProperty(value = "标题")
        private String  title;
    • 1
    • 2
    • 1
    • 2

    @ApiImplicitParam

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

    paramType 示例详解

    path

     @RequestMapping(value = "/findById1/{id}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
    
     @PathVariable(name = "id") Long id
    • 1
    • 2
    • 3
    • 1
    • 2
    • 3

    body

      @ApiImplicitParams({ @ApiImplicitParam(paramType = "body", dataType = "MessageParam", name = "param", value = "信息参数", required = true) })
      @RequestMapping(value = "/findById3", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
    
      @RequestBody MessageParam param
    
      提交的参数是这个对象的一个json,然后会自动解析到对应的字段上去,也可以通过流的形式接收当前的请求数据,但是这个和上面的接收方式仅能使用一个(用@RequestBody之后流就会关闭了)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
      @ApiImplicitParams({ @ApiImplicitParam(paramType = "header", dataType = "Long", name = "id", value = "信息id", required = true) }) 
    
       String idstr = request.getHeader("id");
            if (StringUtils.isNumeric(idstr)) {
                id = Long.parseLong(idstr);
            }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    Form

    @ApiImplicitParams({ @ApiImplicitParam(paramType = "form", dataType = "Long", name = "id", value = "信息id", required = true) })
     @RequestMapping(value = "/findById5", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
    • 1
    • 2
    • 1
    • 2
  • 相关阅读:
    C#动态方法调用
    递归查询SQL语句
    Jquery获取下拉选择节点名称值赋给textbox文本框 获取 父节点的栏目名称编号
    C# 获取指定目录下所有文件信息
    引用借以记录借鉴 实现记住密码和自动登录功能
    摘用的一个实现在线发送短信接口功能
    Winform文件夹图片批量压缩整理修改
    安装包部署项目简述
    一道不错的考试题
    利用ItextSharp 生成PDF文档改进版
  • 原文地址:https://www.cnblogs.com/yuan951/p/7243383.html
Copyright © 2020-2023  润新知