Swagger与SpringBoot的整合
来源:互联网 发布:微信淘宝客推广优惠券 编辑:程序博客网 时间:2024/06/05 16:31
Swagger可视化API,不仅能查看API,还能测试
1.引入相关JAR
<dependency> <groupId>com.mangofactory</groupId> <artifactId>swagger-springmvc</artifactId> <version>1.0.2</version></dependency><dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.13</version></dependency><dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> <version>1.9.13</version></dependency>
2.在启动类中加入Swagger相关代码(用的springboot):
@EnableSwaggerpublic class AppServiceApplication { public static void main(String[] args) { SpringApplication application = new SpringApplication(AppServiceApplication.class); Set<Object> sourcesSet = new HashSet<Object>(); sourcesSet.add("classpath:applicationContext.xml"); application.setSources(sourcesSet); application.run(args); } private SpringSwaggerConfig springSwaggerConfig; /** * Required to autowire SpringSwaggerConfig */ @Autowired public void setSpringSwaggerConfig(SpringSwaggerConfig springSwaggerConfig) { this.springSwaggerConfig = springSwaggerConfig; } /** * Every SwaggerSpringMvcPlugin bean is picked up by the swagger-mvc * framework - allowing for multiple swagger groups i.e. same code base * multiple swagger resource listings. */ @Bean public SwaggerSpringMvcPlugin customImplementation() { return new SwaggerSpringMvcPlugin(this.springSwaggerConfig).apiInfo(apiInfo()).includePatterns(".*?"); } private ApiInfo apiInfo() { ApiInfo apiInfo = new ApiInfo( "App Service API", "", "", "huqc@gcks.cn", "", ""); return apiInfo; }
3.在代码中添加相关APIAnnotation,如下:
<span style="font-size:18px;background-color: rgb(255, 255, 255);">@ResponseBody @RequestMapping( value = addUser, method = RequestMethod.POST, produces = application/json; charset=utf-8) @ApiOperation(value = 添加用户, httpMethod = POST, response = BaseResultVo.class, notes = add user) public String addUser(@ApiParam(required = true, name = postData, value = 用户信息json数据) @RequestParam( value = postData) String postData, HttpServletRequest request) { LOGGER.debug(String.format(at function, %s, postData)); if (null == postData || postData.isEmpty()) { return super.buildFailedResultInfo(-1, post data is empty!); } UserInfo user = JSON.parseObject(postData, UserInfo.class); int result = userService.addUser(user); return buildSuccessResultInfo(result); }</span>
说明:
其中@ApiOperation和@ApiParam为添加的API相关注解,个参数说明如下:
@ApiOperation(value = “接口说明”, httpMethod = “接口请求方式”, response = “接口返回参数类型”, notes = “接口发布说明”;其他参数可参考源码;
@ApiParam(required = “是否必须参数”, name = “参数名称”, value = “参数具体描述”4.添加Swagger UI配置在GitHub上下载SwaggerUI项目,将dist下所有内容拷贝到本地项目webapp下面,结果目录如下图所示:修改index.html
将index.html中http://petstore.swagger.wordnik.com/v2/swagger.json修改为http://localhost:8080/{projectname}/api-docs
到此为止,所有配置完成,启动你的项目,访问http://localhost:8086/swagger/index.html即可看到如下所示页面:
但是swagger不建议像上面和代码混合在一块,建议swagger用yaml文件单独配置部署生成HTML文件
1 2
- Swagger与SpringBoot的整合
- Swagger与SpringBoot的整合
- swagger 与 springboot 的整合实战
- springboot整合swagger
- springboot整合swagger
- SpringBoot整合Swagger
- SpringBoot整合swagger
- SpringBoot整合Swagger
- springboot+mybatis+resteasy+swagger整合
- Springboot整合Swagger学习笔记
- springboot整合mybatis,swagger ui
- springmvc或者springboot整合swagger
- Swagger(一) SpringBoot整合Swagger2简单的例子
- Swagger(一) SpringBoot整合Swagger2简单的例子
- Springboot整合Swagger过程中遇到的坑
- Swagger 与 SpringMVC 整合的步骤
- SpringMVC与Swagger整合
- SpringMVC与Swagger整合
- cocos2dx 3.x 实现 A星(A*)(A-star)算法自动寻路(一)
- 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作(MaxUserPort,TcpTimedWaitDelay)
- js对象如何实现数组索引功能并且自定义自己的方法 (4种方法)
- Emacs 24.4 配置C++智能提示
- linux下vim不显示高亮解决方案
- Swagger与SpringBoot的整合
- 给初学者推荐几个比较好的技术博客
- js三级联动
- linux设备树使用手册
- MMORPG服务器架构
- android GestureListener手势,多指缩放
- HDU 5226 Tom and matrix
- 学习boundingRectWithSize:options:attributes:context:计算文本尺寸
- 小白来到公司两个月了。