自动前后端分离之后,后端的开发压力小了,但是调试很麻烦。借用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>
分享到:
相关推荐
SSM(Spring、Spring MVC、MyBatis)和Swagger2是Java开发中常见的技术栈,它们各自在Web应用开发中扮演着重要的角色。本小列子结合这些技术,提供了一个入门级的学习示例。 首先,Spring是Java企业级应用的核心...
在SSM框架中集成Swagger,可以方便地生成API文档,使得开发者能够清晰地了解接口的使用方法,提高开发协作的效率。 文件**上传功能**是Web应用中常见的一种需求。在Java中,可以使用Servlet API或者第三方库如...
【标题】"jd1911班的资讯管理系统(基于springboot+ssm+swagger的前后台分离项目) .zip" 提供了一个完整的毕业设计项目,这个系统是使用现代Java Web开发技术构建的,旨在管理和展示资讯信息。系统的核心框架是...
总结来说,本项目展示了如何在SSM项目中集成Swagger2,以提高接口管理和测试的效率。通过使用Swagger2,开发者能够轻松地生成API文档,同时提供了一个友好的界面来测试和验证接口的功能,极大地提升了开发效率和协作...
它集成了大量常用的第三方库配置,如Tomcat、JPA等,开发者可以“开箱即用”。在本项目中,Spring Boot可能被用来快速启动和配置Web服务,提供RESTful API,同时其内置的健康检查和自动配置特性也会极大地方便开发者...
这是一个基于Java技术栈,特别是SpringBoot和SSM(Spring、SpringMVC、MyBatis)框架,结合Swagger实现前后端分离的毕业设计项目。在这个项目中,我们将深入探讨多个IT领域的核心知识点,包括但不限于Web开发、框架...
spring boot + swagger2集成api接口文档,springBoot+swagger+mysql 搭建的一个项目。可以启动。可供参考使用; Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是...
5. **易于集成**:SpringMVC与Swagger的集成相对简单,可以通过添加相关依赖和配置文件,快速地将Swagger引入到SpringMVC项目中。 6. **提升团队协作**:通过清晰的API文档,团队成员可以更好地理解接口的功能和...
在SSM项目中集成Swagger,可以提高开发效率,便于前后端协作,以及为用户提供清晰的API接口文档。 首先,让我们深入了解SSM框架: 1. Spring:这是一个全面的Java应用框架,提供了依赖注入(DI)和面向切面编程...
在"ssm+swagger模板"中,你可能得到的是一个已经预配置好的项目,包含了SSM框架和Swagger的集成。你只需要根据自己的需求修改其中的注解和接口实现,就可以快速地为你的项目构建出一个功能完善的API文档和测试工具。...
3. **Swagger集成**:Swagger是一个用于设计、构建、文档化和使用RESTful Web服务的工具。在Spring Boot项目中,我们可以通过添加Swagger的依赖,创建API的定义,并使用`@ApiOperation`等注解来描述接口的功能。...
在`demo-boot-ssm`这个项目中,我们将SpringBoot作为基础框架,Mybatis负责数据访问,Swagger则用于生成API文档。首先,我们需要在SpringBoot的配置文件(application.yml或application.properties)中配置Mybatis的...
5. **guns框架**:Guns是基于SpringBoot的快速开发框架,提供了一系列便捷的功能,如代码生成、Swagger接口文档、权限控制等,能加快项目开发速度。 6. **IDEA集成**:使用IntelliJ IDEA作为开发工具,集成了对这些...
在现代Web开发领域,集成多种技术栈以构建高效、响应式的应用程序已成为常态。"基于SSM+Vue的宠物店系统"是一个典型的案例,它巧妙地结合了Spring、SpringMVC、MyBatis(SSM)三大Java后端框架与前端的Vue.js库,为...