首先需要一个@Configuration
的配置类。
Swagger2Configuration
package com.lbl.demo.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
@Configuration
public class Swagger2Configuration {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
//这里添加的是你controller所在的包
.apis(RequestHandlerSelectors.basePackage("com.lbl.demo.controller"))
.paths(PathSelectors.any())
.build();
}
//构建 api文档的详细信息函数,注意这里的注解引用
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
//页面标题
.title("李柏霖 API 文档")
//描述
.description("李柏霖 API 网关接口")
//版本号
.version("1.0.1")
.build();
}
}
其中需要注意的是,修改成你自己controller所在的包。
接着就是配置再创建一个controller
DemoController
package com.lbl.demo.controller;
import com.google.gson.Gson;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
@RestController
@Api(value = "test")
public class DemoController {
@ApiOperation(value = "根据ID查询", notes = "传入id")
@RequestMapping(value = "/test1", method = RequestMethod.GET)
public String getTest(String id) {
System.out.println(id);
Gson gson = new Gson();
List<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");
return gson.toJson(list)+id;
}
}
在Application上配置@EnableSwagger2
启用swagger。(在你自己的main方法上配置)
DemoApplication
package com.lbl.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@SpringBootApplication
@EnableSwagger2
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
最后运行,默认要进这个页面http://localhost:8080/swagger-ui.html
才能看到效果。
点开的效果:
可以在页面进行测试: