spring-boot集成swagger2 发表于 2017-08-24 | 分类于 Spring-boot | | 阅读次数 | | 字数统计 489 | 阅读时长 3 1.pom.xml引入swagger2依赖:1234567891011<!--Swagger2的依赖--><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>${swagger.version}</version></dependency><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>${swagger.version}</version></dependency> 2.代码配置12345678910111213141516171819202122232425262728293031323334353637383940@Configuration@EnableSwagger2public class Swagger2Config extends WebMvcConfigurerAdapter { /** * 这个地方要重新注入一下资源文件,不然不会注入资源的,也没有注入requestHandlerMappping,相当于xml配置的 * <!--swagger资源配置--> * <mvc:resources location="classpath:/META-INF/resources/" mapping="swagger-ui.html"/> * <mvc:resources location="classpath:/META-INF/resources/webjars/" mapping="/webjars/**"/> * 不知道为什么,这也是spring boot的一个缺点(菜鸟觉得的) * @param registry */ @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("swagger-ui.html") .addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars*") .addResourceLocations("classpath:/META-INF/resources/webjars/"); } @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.kiko.controller")) //需要扫描的路径 .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("Spring Boot中使用Swagger2构建RESTful APIs") .description("更多Spring Boot相关文章请关注:http://www.leiyatao.com/") .termsOfServiceUrl("http://www.leiyatao.com/") .contact("leiyatao0204@qq.com") .version("1.0").license("2.0").licenseUrl("http://www.leiyatao.com") .build(); }} 3.Controller方法中添加注解1234567891011121314151617181920212223242526272829303132333435363738394041424344@RestController@Api(value = "用户接口", description = "描述")public class HelloWorldController { @Autowired private UserRepository userRepository; @RequestMapping(value="hello",method=RequestMethod.GET) public String hello(){ return "Hello Spring boot"; } @ApiOperation(value="获取用户详细信息", notes="根据url的id来获取用户详细信息") @ApiImplicitParam(name = "id", value = "用户ID", required = true,dataType = "Long",paramType = "query") @RequestMapping(value="getUser", method=RequestMethod.GET) public User getUserById(Long id) { return userRepository.getOne(id); } @ApiOperation(value="创建用户", notes="根据User对象创建用户") @ApiImplicitParam(name = "user", value = "用户详细实体user", required = true, dataType = "User" ) @RequestMapping(value="saveUser", method=RequestMethod.POST) public String saveUser(@RequestBody User user){ userRepository.save(user); return "success"; } @ApiOperation(value="修改用户", notes="根据User对象修改用户") @ApiImplicitParam(name = "user", value = "用户详细实体user", required = true, dataType = "User" ) @RequestMapping(value="updateUser", method=RequestMethod.POST) public String updateUser(@RequestBody User user){ User user1=userRepository.getOne(user.getId()); user1.setAge(user.getAge()); user1.setName(user.getName()); userRepository.save(user1); return "success"; } @ApiOperation(value="查询所有", notes="查询所有") @RequestMapping(value="findAll", method=RequestMethod.POST) public List<User> findAll(){ return userRepository.findAll(); }} 4.启动工程并访问http://localhost:9999/swagger-ui.html大功告成!!