Springboot使用swagger2
程序员文章站
2022-07-02 22:08:29
...
十月一结束啦 又要开始新的码农生活
首先在POM中加入配置文件
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.2.2</version>
</dependency>
然后
创建Swagger2配置类
@Configuration
@EnableSwagger2
public class swagger {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
.apis(RequestHandlerSelectors.basePackage(("com.firstdian.web")))
.paths(PathSelectors.any()).build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder().title("测试swagger")
.description("第一次测试swagger")
.termsOfServiceUrl("").contact("wxr").build();
}
}
select()创建一个重建器,用于定义一些控制器及其生成的文档中应包含某种方法。
apis()定义为包含的类(控制器和模型类)。
path()允许根据路径映射定义应包含其中的控制器的方法。
在启动类同级添加一个swagger(用于启动项目之后可以直接打開swagger,可不加)
@Configuration
public class IndexConfig {
@EventListener({ApplicationReadyEvent.class})
void applicationReadyEvent() {
System.out.println("应用已经准备就绪 ... 启动浏览器");
String url = "http://localhost:8089/swagger-ui.html";
Runtime runtime = Runtime.getRuntime();
try {
runtime.exec("rundll32 url.dll,FileProtocolHandler " + url);
} catch (IOException e) {
e.printStackTrace();
}
}
}
controller 编写样式
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
@ApiOperation(value = "查看数据", notes = "查看数据")
@ApiImplicitParam(name = "id", value = "用戶id", required = true)
public User getUser(@PathVariable Long id) {
return users.get(id);
}
加油!!!