swagger: swagger是一个规范和完整的框架,用于生成 描述 调用和可视化的restful风格的web服务.可以让我们在修改代码逻辑的同时 方便的修改文档说明。另外Swagger2也提供了强大的页面测试功能来调试。
ssm+maven整合swagger步骤:
1.在pom.xml中导入swagger所需坐标(注意swagger版本号)
<!-- swagger -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.5.0</version>
</dependency>
<!-- swagger-ui -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.5.0</version>
</dependency>
2.创建swagger配置类
@Configuration
@EnableSwagger2
@EnableWebMvc
@ComponentScan(basePackages = "com.xx") //需要扫描的包
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.build()
.apiInfo(apiInfo());
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("xxx项目接口文档")
.description("xxx接口测试")
.version("1.0.0") //版本号
.termsOfServiceUrl("")
.license("") //连接名称
.licenseUrl("") //连接地址
.build();
}
}
- 修改springmvc.xml
<!-- 配置swagger的bean -->
<!-- 将静态资源交由默认的servlet处理 -->
<mvc:default-servlet-handler/>
<!-- 向容器自动注入配置 -->
<context:annotation-config/>
<!-- 将SwaggerConfig配置类注入 -->
<bean class="com.mr.config.SwaggerConfig"/>
<!-- 配置swagger静态资源不被拦截 -->
<mvc:resources location="classpath:/META-INF/resources/" mapping="swagger-ui.html"/>
<mvc:resources location="classpath:/META-INF/resources/webjars/" mapping="/webjars/**"/>
- 修改web.xml
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
- controller测试类编写
@Controller
@RequestMapping("user")
@Api(tags = "用户模块")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping(value = "getUserById/{id}",method = RequestMethod.GET,produces="application/json; charset=UTF-8")
@ResponseBody
@ApiOperation(value = "根据id获得用户信息",notes = "test")
@ApiImplicitParam(paramType = "path",name = "id",value = "用户主键",required = true,dataType = "int")
public User getUserById(@PathVariable("id") Integer id){
return userService.getUserById(id);
}
- 浏览器访问http://localhost:8080/swagger-ui.html
至此,ssm整合swagger已经完成.