1、引入maven依赖
<dependency>
<groupId>com.mangofactory</groupId>
<artifactId>swagger-springmvc</artifactId>
<version>1.0.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.5.1</version>
</dependency>
2、创建自定义swagger初始化配置文件
@EnableSwagger
@ComponentScan(basePackages={"org.giles.springmvc.controller"})
public class SwaggerConfig {
private SpringSwaggerConfig springSwaggerConfig;
@Autowired
public void setSpringSwaggerConfig(SpringSwaggerConfig springSwaggerConfig)
{
this.springSwaggerConfig = springSwaggerConfig;
}
@Bean
public SwaggerSpringMvcPlugin customImplementation()
{
return new SwaggerSpringMvcPlugin(this.springSwaggerConfig)
.apiInfo(apiInfo())
.includePatterns(".*?");
}
private ApiInfo apiInfo()
{
ApiInfo apiInfo = new ApiInfo(
"springmvc搭建swagger",
"spring-API swagger测试",
"My Apps API terms of service",
"[email protected]",
"web app",
"My Apps API License URL");
return apiInfo;
}
}
3、将swagger配置类及依赖SpringSwaggerConfig加载到spring容器中
<mvc:annotation-driven></mvc:annotation-driven>
<!-- 将 springSwaggerConfig加载到spring容器 -->
<bean class="com.mangofactory.swagger.configuration.SpringSwaggerConfig" />
<!-- 将自定义的swagger配置类加载到spring容器 -->
<bean class="org.giles.springmvc.config.SwaggerConfig"></bean>
<!-- 静态资源文件,不会被Spring MVC拦截 -->
<mvc:resources
mapping="/swagger/**" location="/WEB-INF/swagger/" />
4、配置相关controller的api
@Api(value="user")
@Controller
@RequestMapping(value="/user")
public class UserController {
private static Logger logger=Logger.getLogger(UserController.class);
@RequestMapping(value = "/getUser/{userId}",method=RequestMethod.GET)
@ResponseBody
@ApiOperation(value=Constant.GETUSERINFOBYUSERID,httpMethod="GET",notes=Constant.GETUSERINFOBYUSERID,response=ModelAndView.class)
public ModelAndView getUser(@ApiParam(required=true,value="用户ID",name="userId")@PathVariable("userId")Integer userId) {
ModelAndView modelAndView=new ModelAndView();
logger.info("用户id:"+userId+"+++++++++++++++++");
modelAndView.setViewName("userDetail");
return modelAndView;
}
}
5、和swagger UI的集成
在GitHub上将swaggerui下载,地址:https://github.com/swagger-api/swagger-ui。解压后将dist文件夹中所有的文件拷贝到webapp/swagger这里的swagger是作者自定义的你可以写为自己创建的目录。
修改index.html中的 http://petstore.swagger.wordnik.com/v2/swagger.json修改为自己项目路径+api-docs
在浏览器中输入:http://localhost:8080/springmvc/swagger/dist/index.html
springmvc+swagger整合
猜你喜欢
转载自zhaijizhe.iteye.com/blog/2403896
今日推荐
周排行