SSM+swagger集成
程序员文章站
2022-06-13 19:51:41
...
自动前后端分离之后,后端的开发压力小了,但是调试很麻烦。借用swagger工具可以很轻松的生成接口调试页面,以下就是swagger集成的过程。
一、pom.xml引入依赖包
二、创建配置类
三、配置spring-mvc.xml文件
四、暴露api
1. 在类上添加api注解
@Api(tags="用户管理接口文档")
2. 在方法上添加ApiOperation注解
@ApiOperation(value="新增用户信息", httpMethod="POST")
五、访问接口
http://localhost:8080/uct-webapp/swagger-ui.html
注意事项:
1. 在web.xml里,springMVC的url-patten必须至少有一个是 / 模式
一、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+swagger集成