spring mvc 整合swagger

1.首先需要导入jar包

<!-- 生成swagger接口 -->     
<dependency>
	<groupId>io.springfox</groupId>
	<artifactId>springfox-swagger2</artifactId>
	<version>2.5.0</version>
</dependency>
<!--web展示生成的接口 -->
<dependency>
	<groupId>io.springfox</groupId>
	<artifactId>springfox-swagger-ui</artifactId>
	<version>2.5.0</version>
</dependency>
<!-- 好像是生成接口中用到的序列化,maven依赖中已经存在,但不知道为啥还是需要这里显示导入 -->
<dependency>
	<groupId>com.fasterxml.jackson.core</groupId>
	<artifactId>jackson-databind</artifactId>
	<version>2.8.2</version>
</dependency> 

2.新建配置文件   Swagger2Configuration

@EnableSwagger2
@Configuration
@EnableWebMvc
public class Swagger2Configuration {

	@Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())//api信息
                .select()
                .apis(RequestHandlerSelectors.any()) //api选择
                .paths(PathSelectors.any())//指定api路径
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title(" 接口列表 v1.0.0")                
                .description("swagger_test")                
                .version("1.0.0")
                .build();
    }
}

3.修改XML配置文件

<!-- 使静态资源使用默认的Servlet 来处理,不声明的话,可能访问不到 swagger-ui.html-->
<mvc:default-servlet-handler />     
<!-- 这里不显示声明bean,会出现页面能访问到接口不能展示的情况 -->
<bean class="com.demo.swagger.config.Swagger2Configuration"/>

4.编写swagger风格的接口

@Api(value="swaggertest")
@Controller
public class SwaggerTestAction {
	
	
	@ApiOperation("swagger_test")
	@ResponseBody
	@RequestMapping(value = "/test2/{id}",method=RequestMethod.POST,produces="application/json;charset=UTF-8")
	public String test (@ApiParam @PathVariable("id")String id){
		
		return id;

	}
}

  

  

  

posted @ 2018-03-21 16:11  hello_myworld  阅读(187)  评论(0编辑  收藏  举报