自动前后端分离之后,后端的开发压力小了,但是调试很麻烦。借用swagger工具可以很轻松的生成接口调试页面,以下就是swagger集成的过程。
一、pom.xml引入依赖包
<!-- Swagger -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
二、创建配置类
@Configuration
@EnableSwagger2
@EnableWebMvc
public class Swagger2Config{
@Value("${swagger.show:false}")
private boolean swaggerShow;
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.enable(swaggerShow)
.select()
.apis(RequestHandlerSelectors.any())
.build()
.apiInfo(apiInfo());
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("UCT项目接口文档")
.description("UCT项目接口测试")
.version("1.0.0")
.termsOfServiceUrl("")
.license("")
.licenseUrl("")
.build();
}
}
三、配置spring-mvc.xml文件
<--增加-->
<!-- 引入swagger相关 ,注意静态资源文件映射是否打开-->
<bean class="cn.gov.zjport.uct.swagger.Swagger2Config" />
<mvc:resources mapping="/swagger-ui.html" location="classpath:/META-INF/resources/" />
<mvc:resources mapping="/webjars/**" location="classpath:/META-INF/resources/webjars/" />
<!-- 在一些拦截器中,排除swagger相关内容 -->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<mvc:exclude-mapping path="/swagger-ui.html"/>
<mvc:exclude-mapping path="/swagger-resources/**"/>
<mvc:exclude-mapping path="/webjars/**"/>
<ref bean="permissionHandlerInterceptor" />
</mvc:interceptor>
</mvc:interceptors>
四、暴露api
1. 在类上添加api注解
@Api(tags="用户管理接口文档")
2. 在方法上添加ApiOperation注解
@ApiOperation(value="新增用户信息", httpMethod="POST")
@RequestMapping("/user")
@RestController
@Api(tags="用户管理接口文档")
public class UserController extends BaseController{
/**
* 修改用户
* @param user User对象
*/
@RequestMapping("/updateUser")
@ApiOperation(value="修改用户信息", httpMethod="POST")
public JsonResult updateUser(User user){
user.setOrgId(this.getOrgId());
JsonResult jsonResult = new JsonResult();
if(StringUtils.isEmpty(user.getDepartmentIds()) || UctConstant.NULL_DEPARTMENT_ID.equals(user.getDepartmentIds())){
jsonResult.setSuccess(false);
jsonResult.setMessage("部门不能为空.");
return jsonResult;
}
if(StringUtils.isEmpty(user.getPositionCodes())){
jsonResult.setSuccess(false);
jsonResult.setMessage("岗位不能为空.");
return jsonResult;
}
if(StringUtils.isEmpty(user.getEmail())){
jsonResult.setSuccess(false);
jsonResult.setMessage("邮箱不能为空.");
return jsonResult;
}
...
}
}
五、访问接口
http://localhost:8080/uct-webapp/swagger-ui.html
注意事项:
1. 在web.xml里,springMVC的url-patten必须至少有一个是 / 模式
<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
分享到:
相关推荐
spring boot + swagger2集成api接口文档,springBoot+swagger+mysql 搭建的一个项目。可以启动。可供参考使用; Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是...
基于spring boot的简单框架,集成了shiro权限控制和redis缓存
SpringMVC集成Swagger,最干净的一个Demo。里面有步骤说明。非常简单。运行测试OK。
1、前后端分离思想 ...后端负责业务/数据接口,前端负责展现/交互逻辑,前后端开发并行且独立。 随着发展,前后端分离也不局限于web开发,越来越向一对多的方向发展。对于同一份数据接口,我们可以定制开发多个客户端,...
基于gradle的 ssm 框架,集成swagger-ui文档生成插件
基础的SSM框架,集成了shiro作为登陆验证和权限管理和swagger作为开接口文档,让开发商专注于业务的开发 1,前一级分离思想 其实前一次分离并不只是只是开发模式,而是网络应用的一种架构模式,之前先使用HTTP或其他...
spring mvc 集成 swagger ui 的示例代码,swagger ui是用来生成api 文档的神器。
SpringBoot集成swagger3(powernode CD2207) 零、前期准备 数据库ssm_power_edu.sql 0.1 pom.xml 0.2 application.yml 0.3 实体类 0.4 UserMapper接口 0.5 UserMapper.xml配置文件 0.6 service层接口 0.7 service层...
使用maven创建spring mvc,整合了redis、swagger2、mybatis,其中数据库连接池使用了Druid,具有强大的监控和扩展功能,swagger提供API接口,可测试接口,此外还整合了mybatis generator,反向生成代码
ssm框架搭建的demo工程,整合了swagger在线文档,activiti及activitimodeler在线网页流程设计器,restful风格。
前后端分离开发已经是很流行的一个开发模式。前端开发不需要部署后端语言的环境,后端开发也不需要...在产品的核心微服务定义完成后,我们希望前后端Service同时开始开发,所以这里我们利用Swagger创建了一个基于Node.j
该项目集成了MyBatis-Plus、Druid数据源、Junit测试以及Swagger文档,实现了前后端分离的设计模式。项目正在不断完善中,已具备基础功能框架。 文件构成: - Java源文件:11个,包含了核心业务逻辑和控制器代码。 -...
集成Swagger2自动生成接口文档,集成Druid连接池进行SQL性能监控,集成ActiveMQ消息中间件进行异步解耦,提高性能。最后使用linux系统进行服务部署,并搭建nginx反向代理服务器提高网站性能。 二、学习目标 通过本...
易于扩展:SpringBoot与生俱来的灵活性使您可以轻松集成各种服务和数据库,以满足您日益增长的需求。 安全性:内置的安全特性,如OAuth2和Spring Security,确保您的应用程序安全无虞。 微服务支持:SpringBoot是...
本质是Swagger的增强解决方案,前身只是一个SwaggerUI(swagger-bootstrap-ui)Knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案, 前身是swagger-bootstrap-ui,取名kni4j是希望她能像一把匕首一样小巧,...
本质是Swagger的增强解决方案,前身只是一个SwaggerUI(swagger-bootstrap-ui)Knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案, 前身是swagger-bootstrap-ui,取名kni4j是希望她能像一把匕首一样小巧,...
从 SSM 切换到 SpringBoot SpringBoot 集成 Mybatis 集成 Spring Security, 支持手机验证码和用户密码登录,使用JWT 配置 Spring Data Redis 或 使用 Spring Cache 管理缓存 修改所有接口为 RESTFull 风格, 接口成功...
SpringBoot接口 - 如何生成接口文档之集成Smart-Doc上文我们看到可以通过Swagger系列可以快速生成API文档, 但是这种API文档生成是需要在接口上添加注解等,这表明这是一种侵入式方式; 那么有没有非侵入式方式呢, ...
3、前端框架集成了Bootstrap3.3.5,Jquery1.12.3,集成了Bootstrap插件Bootgrid数据表格实现分页,使用Bootstrap的datetimepicker插件实现日期时间选择 4、后台的分页使用Mybatis的插件pagehelper实现 5、不再使用...
本文将基于Spring官方提供的快速启动项目模板集成Mybatis、Swagger2框架,并讲解mybatis generator一键生成代码插件、logback、一键生成文档以及多环境的配置方法,最后再介绍一下自定义配置的注解获取、全局异常...