Swaggr 使用帮助

官网:http://swagger.io/

Annotations文档:
https://github.com/swagger-api/swagger-core/wiki/Annotations
编写API规格文档:http://swagger.io/specification/
开源集成:http://swagger.io/open-source-integrations/
在线编辑:http://editor.swagger.io/#!/

正常开发流程:
通过在线编辑工具编辑API,然后导出服务端和客户端代码进行开发。

swagger+spring boot

如果是spring mvc集合,则使用springfox,官网Demo,如果使用Restlet API and JAX-API,则使用restlet-framework

参考文章:
官网博客:https://www.easyitblog.info/2017/01/08/api-first-approach-with-swagger/
其他博客:
http://www.cnblogs.com/java-zhao/p/5348113.html
https://juejin.im/entry/580457030bd1d0005812a700
http://www.cnblogs.com/woshimrf/p/5863318.html

编写Controller注意事项

  1. 入参最好使用Spring MVC提供的注解:@RequestBody,@RequestParam,@PathVariable,取代使用HttpServletRequest request.getParamter()的方式,因为使用request.getParamter这种方式获取参数时,swagger无法自动解析出入参对象。
  2. 如果Controller入参为对象,不加@RequestBody和加上@RequestBody的区别:
    Paste_Image.png

    打开swagger-ui:
    添加有@RequestBody注解的入参为一个json串对象:
    添加有RequestBody注解

    没有RequestBody注解的为不同的字段:
    没有RequestBody注解
  3. 出参尽量使用@ResponseBody或者RespinseEntity对象。区别:ResponseEntity可以包含Header和HttpStatus。
  4. 入参使用注解时,根据是否必填修改requested值。

swagger常用路径

  1. swaggerUI路径:http://localhost:8080/swagger-ui.html
  2. swagger API路径查看:http://localhost:8080/swagger-resources
    Paste_Image.png
  3. swagger API 说明文件查看。根据2结果,查询对应api的json,例如查询full-demo-api,这它对应的location为/v2/api-docs?group=full-demo-api,这路径为:http://localhost:8080/v2/api-docs?group=full-demo-api

使用现有Controller生成客户端文件

首先通过swagger UI查询出该API对应的json说明文件,方式为上面“swagger常用路径”第3个,例如为:http://localhost:8080/v2/api-docs?group=full-demo-api, 浏览器中打开:

full-demo-api

复制结果,打开swagger editor,选择File-->Paste JSON,将内容复制进去点击Import。

Paste_Image.png

然后选择GenerateServer或GenerateClient选择对应的语言下载即可,可以下载为HTML

Paste_Image.png

swagger转为HTML 和 PDF文档

请查看://www.greatytc.com/p/0aa7c915ee9e

Eclipse插件:RepreZen API Studio(收费,可以试用14天)
官网:http://www.reprezen.com/Swagger-Tools
已经上架Eclipse Marketplace

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,083评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,926评论 25 709
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,989评论 6 342
  • Spring的模型-视图-控制器(MVC)框架是围绕一个DispatcherServlet来设计的,这个Servl...
    alexpdh阅读 2,685评论 0 3
  • 今天又差不多在宿舍窝了一天,哎。。。被舍友拉着打游戏,堕落啊,感觉又有些玩腻了。 今天晚上本来要去排练的,...
    永恒yxh阅读 124评论 0 0