SpringMVC 集成 swagger2

  1. 引入jar

        
            io.springfox
            springfox-swagger2
            2.4.0
        
        
            io.springfox
            springfox-swagger-ui
            2.4.0
        
  1. 写配置文件
    注意,配置类需要给Spring管理
@Configuration
@EnableWebMvc
@EnableSwagger2
@ComponentScan(basePackages = {"com.beyond.app.controller"})
public class Swagger2Config extends WebMvcConfigurationSupport {


    @Bean
    public Docket buildDocket() {
        return  new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())//调用下面apiInfo()方法
                .select()
                //Controller所在路径
                .apis(RequestHandlerSelectors.basePackage("com.beyond.app.controller"))
                .paths(PathSelectors.any())
                .build();

    }

    public ApiInfo apiInfo() {
        return  new ApiInfoBuilder()
                .title("springboot结合swagger2构建Restful API")
                .description("这是一个swagger2小型demo")
//                http://localhost:8080/swagger-ui.html
                .termsOfServiceUrl("http://localhost:8080")
                .contact("bacyang")
                .version("0.0.1")
                .build();

    }
}
  1. spring-mvc.xml配置

    
    


    

 
    


 
    
        
            
            
            
            
            
            
            
        
    
  1. 编写接口文档
    Swagger2 基本使用:

    @Api 描述类/接口的主要用途
    @ApiOperation 描述方法用途
    @ApiImplicitParam 描述方法的参数
    @ApiImplicitParams 描述方法的参数(Multi-Params)
    @ApiIgnore 忽略某类/方法/参数的文档

@Api("用户信息管理") 
@RestController @RequestMapping("/user/*")
public class UserController { 
private final static List userList = new ArrayList<>(); { userList.add(new User("1", "admin", "123456")); 
userList.add(new User("2", "jacks", "111111")); 
} 

@ApiOperation("获取列表") 
@GetMapping("list") public List userList() { return userList; } @ApiOperation("新增用户") @PostMapping("save") 
public boolean save(User user) { 
return userList.add(user); 
} 

@ApiOperation("更新用户")
 @ApiImplicitParam(name = "user", value = "单个用户信息", dataType = "User") 
@PutMapping("update") 
public boolean update(User user) { 
return userList.remove(user) && userList.add(user);
 } 

@ApiOperation("批量删除") 
@ApiImplicitParam(name = "users", value = "N个用户信息", dataType = "List") 
@DeleteMapping("delete") 
public boolean delete(@RequestBody List users) { 
return userList.removeAll(users); } 
}

  1. 访问
    端口后面有系统名则需要加上
    http://localhost:8080/swagger-ui.html

你可能感兴趣的:(SpringMVC 集成 swagger2)