av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

SpringBoot整合Swagger2的步驟詳解

瀏覽:2日期:2023-03-18 14:42:35
簡介

swagger是一個流行的API開發(fā)框架,這個框架以“開放API聲明”(OpenAPI Specification,OAS)為基礎(chǔ), 對整個API的開發(fā)周期都提供了相應(yīng)的解決方案,是一個非常龐大的項目(包括設(shè)計、編碼和測試,幾乎支持所有語言)。

springfox大致原理:

springfox的大致原理就是,在項目啟動的過種中,spring上下文在初始化的過程, 框架自動跟據(jù)配置加載一些swagger相關(guān)的bean到當(dāng)前的上下文中,并自動掃描系統(tǒng)中可能需要生成api文檔那些類, 并生成相應(yīng)的信息緩存起來。如果項目MVC控制層用的是springMvc那么會自動掃描所有Controller類,并生成對應(yīng)的文檔描述數(shù)據(jù).該數(shù)據(jù)是json格式,通過路徑:項目地址/ v2/api-docs可以訪問到該數(shù)據(jù),然后swaggerUI根據(jù)這份數(shù)據(jù)生成相應(yīng)的文檔描述界面。 因為我們能拿到這份數(shù)據(jù),所以我們也可以生成自己的頁面.

SpringBoot整合Swagger2引入依賴

<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version></dependency><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.7.0</version></dependency>

注意:jdk1.8以上才能運行swagger2

編寫配置類配置Swagger

@Configuration@EnableSwagger2public class SwaggerConfig{ @Bean public Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage('org.example.yourproject'))//這里填寫項目package.paths(PathSelectors.any()).build(); }//springfox為我們提供了一個Docket(摘要的意思)類,我們需要把它做成一個Bean注入到spring中, 顯然,我們需要一個配置文件,并通過一種方式(顯然它會是一個注解)告訴程序,這是一個Swagger配置文件。 private ApiInfo apiInfo() {return new ApiInfoBuilder().title('Spring Boot中使用Swagger2構(gòu)建RESTful API').description('rest api 文檔構(gòu)建利器').termsOfServiceUrl('https://www.cnblogs.com/yrxing/').contact('xing').version('1.0').build(); } }//springfox允許我們將信息組合成一個ApiInfo的類,作為構(gòu)造參數(shù)傳給Docket

SpringBoot整合Swagger2的步驟詳解

SpringBoot整合Swagger2的步驟詳解

訪問:http://localhost:{your_server_port}/swagger-ui.html

Swagger2常用注解使用

SpringBoot整合Swagger2的步驟詳解

@Api()、@ApiOperation()

@RestController@RequestMapping(value = '/user', produces = APPLICATION_JSON_VALUE) //配置返回值 application/json@Api(tags = '用戶管理')public class HelloController { ArrayList<User> users = new ArrayList<>(); @ApiOperation(value = '獲取用戶列表', notes = '獲取所有用戶信息') @RequestMapping(value = {''}, method = RequestMethod.GET) public List<User> hello() {users.add(new User('邏輯', 'luoji'));users.add(new User('葉文杰', 'yewenjie'));return users; }}@ApiModel()、@ApiModelProperty()

@ApiModel(description = '用戶',value = '用戶')public class User { private String id; @ApiModelProperty(value = '用戶名')//value屬性指明了該字段的含義(描述 Description) private String username; @ApiModelProperty(hidden = true)//此注解可以作用在字段或者方法上,只要 hidden 屬性為 true ,該字段或者方法就不會被生成api文檔. private String password; private String email; private Integer age; private Boolean enabled; }@ApiParam()

@ApiOperation(value = '獲取用戶詳細(xì)信息', notes = '根據(jù)url的id來獲取用戶詳細(xì)信息') @RequestMapping(value = 'getUser/{id}', method = RequestMethod.GET) public User getUser(@ApiParam(naeme = 'id',value = '用戶id', required = true) @PathVariable(value = 'id') String id) { return new User(id, 'itguang', '123456'); }//@ApiParam這個注解,需要注意的是,這個注解方法的參數(shù)前面,不能直接用在方法上面. @ApiImplicitParams()、@ApiImplicitparam()

··· @Api('測試用例1') @Controller public class swaggerTestUse(){ @ApiOperation(value = 'apiOperationSwaggerTest', notes = 'apiOperationSwagger測試') @ApiImplicitParams({@ApiImplicitParam(name = 'id', value = 'id入?yún)?, required = true, dataType = 'Integer', paramType = 'query'),@ApiImplicitParam(name = 'brand', value = 'brand', required = true, dataType = 'BRAND', paramType = 'body') }) public void apiOperationSwaggerTest(Integer id, Brand band){ } }

以上就是SpringBoot整合Swagger2的步驟詳解的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot整合Swagger2的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 黄色片亚洲 | 午夜在线免费观看视频 | 日本 欧美 三级 高清 视频 | 国产视频综合 | 成人一级视频在线观看 | 久久最新网址 | www.日韩在线 | 欧美一级黄色网 | 午夜免费福利片 | 国产成人在线视频播放 | 国产精品一区二区三区久久 | 国产一级视频在线观看 | 日韩中文字幕视频在线观看 | 成人免费视频在线观看 | 亚洲色片网站 | 黑人粗黑大躁护士 | 国产高清视频在线 | 国产乱码高清区二区三区在线 | 91中文字幕在线 | 精品蜜桃一区二区三区 | 91麻豆精品国产91久久久资源速度 | 欧美激情va永久在线播放 | 国产情侣在线看 | 欧美一区二区三区在线观看视频 | 国产在线视频一区二区 | 天天久久 | 超黄毛片 | 一级免费毛片 | 羞羞视频免费观看入口 | 蜜桃综合在线 | 日本免费在线看 | 国产精品自产拍 | 午夜影院免费体验区 | 国产精品福利一区二区三区 | 亚洲一区在线日韩在线深爱 | 极品粉嫩国产48尤物在线播放 | 亚洲成人一区 | 天堂在线1 | 久久69精品久久久久久久电影好 | 国产精品美女www爽爽爽视频 | 午夜精品视频在线观看 |