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
    @ApiModelProperty(value = "标题")private String  title;
  • 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

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

header

  @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

Form

@ApiImplicitParams({ @ApiImplicitParam(paramType = "form", dataType = "Long", name = "id", value = "信息id", required = true) })@RequestMapping(value = "/findById5", method = RequestMethod.POST, produces = MediaType.APPLICATION_JS

swagger注释API详细说明相关推荐

  1. Swagger注释@API详细说明

    前言: 相信无论是前端还是后端开发,都或多或少地被接口文档折磨过.前端经常抱怨后端给的接口文档与实际情况不一致.后端又觉得编写及维护接口文档会耗费不少精力,经常来不及更新.其实一个好接口文档很重要,对 ...

  2. ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了

    引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者 ...

  3. 【转】ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了

    原文链接:https://www.cnblogs.com/yilezhu/p/9241261.html 引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必 ...

  4. 浅析如何在Nancy中使用Swagger生成API文档

    原文:浅析如何在Nancy中使用Swagger生成API文档 前言 上一篇博客介绍了使用Nancy框架内部的方法来创建了一个简单到不能再简单的Document.但是还有许许多多的不足. 为了能稍微完善 ...

  5. ABP学习实践(五)--引入Swagger对API接口进行管理

    以目前流行的前后端分离模式来看,ABP框架更适用于后端开发,而对API接口的管理就成了一项必不可少的功能. 1.安装Swashbuckle.AspNetCore 使用Nuget管理器在分布式服务层和展 ...

  6. SpringBoot整合Swagger测试api构建

    @Author:SimpleWu 什么是Swagger? Swagger是什么:THE WORLD'S MOST POPULAR API TOOLING 根据官网的介绍: Swagger Inspec ...

  7. Spring MVC中使用Swagger生成API文档和完整项目示例Demo,swagger-server-api(二十)

    一:Swagger介绍 Swagger是当前最好用的Restful API文档生成的开源项目,通过swagger-spring项目 实现了与SpingMVC框架的无缝集成功能,方便生成spring r ...

  8. 基于.NetCore3.1搭建项目系列 —— 使用Swagger做Api文档(上篇)

    前言 为什么在开发中,接口文档越来越成为前后端开发人员沟通的枢纽呢? 随着业务的发张,项目越来越多,而对于支撑整个项目架构体系而言,我们对系统业务的水平拆分,垂直分层,让业务系统更加清晰,从而产生一系 ...

  9. 基于.NetCore3.1搭建项目系列 —— 使用Swagger做Api文档 (下篇)

    前言 回顾上一篇文章<使用Swagger做Api文档 >,文中介绍了在.net core 3.1中,利用Swagger轻量级框架,如何引入程序包,配置服务,注册中间件,一步一步的实现,最终 ...

最新文章

  1. html禁止f12键代码,网站禁用f12 禁止调试代码方法
  2. python怎么实现音乐快进,python将音频进行变速的操作方法
  3. X86汇编——简易通讯录
  4. MySQL高级 - SQL优化 - 子查询优化
  5. Vim的NerdTree插件
  6. java 多态判断非空_Java多态性理解
  7. 四面体的表面积_边长为正四面体的表面积是()、;、;、;、。
  8. VMware安装ubuntu中几个问题的解决——VMware Tools
  9. php微信接口调用,PHP调用微信接口报错
  10. UVA11021 Tribbles
  11. mysql省市县表设计_表设计(省市县)
  12. android发送语音动画,Android仿微信发送语音消息的功能及示例代码
  13. 安徽计算机在职研究生学校,安徽能读在职研究生有哪几个学校
  14. java获取当前时间星期几_Java8 获取当前日期时间及星期几
  15. linux pdf 加水印,将动态水印添加到PDF
  16. 昔日的手游大作,《无尽之剑》系列如今为何走向英雄末路?
  17. 怎样使用Outlook连接Hotmail
  18. speedoffice(word)如何修改段落间距
  19. Dad34 Java对象的内存形式
  20. Java夜未眠.程序员的心声

热门文章

  1. motion的移植和使用
  2. 【信息系统项目管理师】第9章-项目人力资源管理 知识点详细整理
  3. Win10彻底关闭Antimalware Service Executable占用内存过高问题
  4. [RK3288][Android6.0] StageFright解码流程小结
  5. 正确使用Android性能分析工具——TraceView
  6. Android8.0使用ninja模块编译Settings
  7. android屏幕休眠和唤醒两种方法(newWakeLock)
  8. V4L2视频应用程序编程架构
  9. Anroid camera + mediacodec
  10. GPUImage实现水印