`

SSM+swagger集成

阅读更多
自动前后端分离之后,后端的开发压力小了,但是调试很麻烦。借用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+swagger2小列子

    SSM(Spring、Spring MVC、MyBatis)和Swagger2是Java开发中常见的技术栈,它们各自在Web应用开发中扮演着重要的角色。本小列子结合这些技术,提供了一个入门级的学习示例。 首先,Spring是Java企业级应用的核心...

    ssm+maven+swagger+上传功能+框架整合

    在SSM框架中集成Swagger,可以方便地生成API文档,使得开发者能够清晰地了解接口的使用方法,提高开发协作的效率。 文件**上传功能**是Web应用中常见的一种需求。在Java中,可以使用Servlet API或者第三方库如...

    jd1911班的资讯管理系统(基于springboot+ssm+swagger的前后台分离项目) .zip

    【标题】"jd1911班的资讯管理系统(基于springboot+ssm+swagger的前后台分离项目) .zip" 提供了一个完整的毕业设计项目,这个系统是使用现代Java Web开发技术构建的,旨在管理和展示资讯信息。系统的核心框架是...

    ssm与swagger2的整合

    总结来说,本项目展示了如何在SSM项目中集成Swagger2,以提高接口管理和测试的效率。通过使用Swagger2,开发者能够轻松地生成API文档,同时提供了一个友好的界面来测试和验证接口的功能,极大地提升了开发效率和协作...

    ssm+springboot+swagger+maven的接口项目

    它集成了大量常用的第三方库配置,如Tomcat、JPA等,开发者可以“开箱即用”。在本项目中,Spring Boot可能被用来快速启动和配置Web服务,提供RESTful API,同时其内置的健康检查和自动配置特性也会极大地方便开发者...

    毕设项目:基于springboot+ssm+swagger前后端分离的咨询管理系统.zip

    这是一个基于Java技术栈,特别是SpringBoot和SSM(Spring、SpringMVC、MyBatis)框架,结合Swagger实现前后端分离的毕业设计项目。在这个项目中,我们将深入探讨多个IT领域的核心知识点,包括但不限于Web开发、框架...

    java springboot+swagger+mysql 框架案例,数据库mysql 5.7

    spring boot + swagger2集成api接口文档,springBoot+swagger+mysql 搭建的一个项目。可以启动。可供参考使用; Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是...

    java springMVC+swagger dome

    5. **易于集成**:SpringMVC与Swagger的集成相对简单,可以通过添加相关依赖和配置文件,快速地将Swagger引入到SpringMVC项目中。 6. **提升团队协作**:通过清晰的API文档,团队成员可以更好地理解接口的功能和...

    ssm整合swagger

    在SSM项目中集成Swagger,可以提高开发效率,便于前后端协作,以及为用户提供清晰的API接口文档。 首先,让我们深入了解SSM框架: 1. Spring:这是一个全面的Java应用框架,提供了依赖注入(DI)和面向切面编程...

    ssm+swgger下载

    在"ssm+swagger模板"中,你可能得到的是一个已经预配置好的项目,包含了SSM框架和Swagger的集成。你只需要根据自己的需求修改其中的注解和接口实现,就可以快速地为你的项目构建出一个功能完善的API文档和测试工具。...

    搭建Springboot整合shiro安全框架+Redis+Swagger+Filter超详细

    3. **Swagger集成**:Swagger是一个用于设计、构建、文档化和使用RESTful Web服务的工具。在Spring Boot项目中,我们可以通过添加Swagger的依赖,创建API的定义,并使用`@ApiOperation`等注解来描述接口的功能。...

    SpringBoot+Mybatis+swagger

    在`demo-boot-ssm`这个项目中,我们将SpringBoot作为基础框架,Mybatis负责数据访问,Swagger则用于生成API文档。首先,我们需要在SpringBoot的配置文件(application.yml或application.properties)中配置Mybatis的...

    ssm+guns+springboot+dubbo框架整合,影院项目

    5. **guns框架**:Guns是基于SpringBoot的快速开发框架,提供了一系列便捷的功能,如代码生成、Swagger接口文档、权限控制等,能加快项目开发速度。 6. **IDEA集成**:使用IntelliJ IDEA作为开发工具,集成了对这些...

    基于ssm+vue的宠物店系统.zip

    在现代Web开发领域,集成多种技术栈以构建高效、响应式的应用程序已成为常态。"基于SSM+Vue的宠物店系统"是一个典型的案例,它巧妙地结合了Spring、SpringMVC、MyBatis(SSM)三大Java后端框架与前端的Vue.js库,为...

Global site tag (gtag.js) - Google Analytics