springmvc或者springboot整合swagger
来源:互联网 发布:折扇起源知乎 编辑:程序博客网 时间:2024/06/05 23:35
Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件或插件。是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。方便接口调用者查看调试,开发者不用自己写个文档。
使用方法:
1.maven引入依赖:
<dependency> <groupId>com.mangofactory</groupId> <artifactId>swagger-springmvc</artifactId> <version>1.0.2</version></dependency>
2.使用springboot或springmvc实例化
package com.lifeng.config;import com.mangofactory.swagger.configuration.SpringSwaggerConfig;import com.mangofactory.swagger.models.dto.ApiInfo;import com.mangofactory.swagger.plugin.EnableSwagger;import com.mangofactory.swagger.plugin.SwaggerSpringMvcPlugin;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Bean;import org.springframework.stereotype.Component;/** * Created by lifeng * 2017/12/11 17:33 */@EnableSwagger@Component //如何使用springmvc,在spring配置文件实例化<bean class="xxxx">public class MySwaggerConfig { @Autowired private SpringSwaggerConfig springSwaggerConfig; @Bean(name="springSwaggerConfig")//如何使用springmvc,在spring配置文件实例化 public SpringSwaggerConfig getSpringSwaggerConfig(){ return new SpringSwaggerConfig(); } @Bean public SwaggerSpringMvcPlugin customImplementation(){ //和springmvc集成插件 return new SwaggerSpringMvcPlugin(this.springSwaggerConfig).apiInfo(apiInfo()) .includePatterns(".*?"); } private ApiInfo apiInfo(){ ApiInfo apiInfo = new ApiInfo( "springmvc搭建swagger(标题)", "spring-API swagger测试(描述)", "(服务的url)", "729088240@qq.com", "license", "license URL"); return apiInfo; }}
3.在controller中使用相关注解即可
package com.lifeng.controller;import com.mangofactory.swagger.annotations.ApiIgnore;import com.wordnik.swagger.annotations.Api;import com.wordnik.swagger.annotations.ApiOperation;import com.wordnik.swagger.annotations.ApiParam;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;/** * Created by lifeng * 2017/12/11 16:36 */@RestController@RequestMapping("/user")@Api(value="user",description = "用户相关api")public class UserController { @RequestMapping(value = "getUserInfo") @ApiOperation(value="通过ID获取用户信息",httpMethod="GET",notes="通过ID获取用户信息") public String getUser(@ApiParam(required=true,value="用户ID",name="id") @RequestParam(value="id") Integer id, @ApiParam(required=true,value="用户姓名",name="name") @RequestParam(value="name") String name ){ System.out.println("用户ID:"+id+",姓名:"+name); return "{'name':'张三','age':22}"; } @RequestMapping(value = "addUser",consumes = "application/json",produces = {"application/xml"}) @ApiOperation(value="添加用户信息",httpMethod="POST",notes="添加用户信息json",response=String.class) public String addUser(@ApiParam(required=true,value="用户信息",name="params") @RequestParam(value="params") String params){ System.out.println("请求参数:"+params); return "<xml><code>success</code><msg>成功</msg></xml>"; } @RequestMapping(value = "deleteUser") @ApiIgnore public String delete(){ return "ok"; }}
4.swagger常用注解参考:
http://www.jianshu.com/p/12f4394462d5
https://www.cnblogs.com/yuan951/p/7243383.html
5.swagger-ui的可视化的界面:
https://github.com/swagger-api/swagger-ui/ 选择 2.x的版本,我之前下了最新版的弄了一天都行,后来才知道是版本的问题,我也是醉了。
解压后将dist文件夹中所有的文件拷贝到webapp/swagger这里的swagger是作者自定义的你可以写为自己创建的目录。
修改index.html中的 http://petstore.swagger.wordnik.com/v2/swagger.json修改为自己项目路径+api-docs,例如:
http://localhost:8080/swagger/api-docs:(我的项目在ROOT下放着,所以不需要项目名称了)
5.浏览器访问http://localhost:8080/swagger/index.html
并在搜索框输入http://localhost:8080/api-docs
- springmvc或者springboot整合swagger
- springboot整合swagger
- springboot整合swagger
- SpringBoot整合Swagger
- SpringBoot整合swagger
- SpringBoot整合Swagger
- Swagger配置(SpringMVC、SpringBoot)
- SpringMVC整合Swagger框架
- springMVC整合swagger
- SpringMVC与Swagger整合
- SpringMVC整合Swagger
- springmvc和swagger整合
- Maven+SpringMVC+Swagger整合
- SpringMVC与Swagger整合
- swagger 整合springmvc
- SpringMVC整合swagger
- SpringMVC整合swagger
- Swagger与SpringMVC整合
- AV1:为互联网提供开放、免费的视频编解码工具
- using UnityEditor引用注意事项
- linux中fork()函数详解
- windows 安装 mediawiki
- Promise对象——ECMAScript 6 入门笔记(一)
- springmvc或者springboot整合swagger
- python scrapy cannot import name '_win32stdio'的解决办法
- 2017-12-12
- POJ-1511 Invitation Cards
- Android 动画详解(二)之animation组合使用
- AngularJs路由
- webpack 使用心得
- MySQL常用指令
- 功放