电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

SpringBoot整合Swagger2的步驟詳解

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

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

springfox大致原理:

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

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構建RESTful API').description('rest api 文檔構建利器').termsOfServiceUrl('https://www.cnblogs.com/yrxing/').contact('xing').version('1.0').build(); } }//springfox允許我們將信息組合成一個ApiInfo的類,作為構造參數傳給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 = '獲取用戶詳細信息', notes = '根據url的id來獲取用戶詳細信息') @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這個注解,需要注意的是,這個注解方法的參數前面,不能直接用在方法上面. @ApiImplicitParams()、@ApiImplicitparam()

··· @Api('測試用例1') @Controller public class swaggerTestUse(){ @ApiOperation(value = 'apiOperationSwaggerTest', notes = 'apiOperationSwagger測試') @ApiImplicitParams({@ApiImplicitParam(name = 'id', value = 'id入參', 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的步驟詳解的詳細內容,更多關于SpringBoot整合Swagger2的資料請關注好吧啦網其它相關文章!

標簽: Spring
相關文章:
主站蜘蛛池模板: 铝合金脚手架厂家-专注高空作业平台-深圳腾达安全科技 | 制丸机,小型中药制丸机,全自动制丸机价格-甘肃恒跃制药设备有限公司 | 上海APP开发-APP制作-APP定制开发-上海APP开发制作公司-咏熠科技 | 滚塑PE壳体-PE塑料浮球-警示PE浮筒-宁波君益塑业有限公司 | 定时排水阀/排气阀-仪表三通旋塞阀-直角式脉冲电磁阀-永嘉良科阀门有限公司 | PVC地板|PVC塑胶地板|PVC地板厂家|地板胶|防静电地板-无锡腾方装饰材料有限公司-咨询热线:4008-798-128 | 直流电能表-充电桩电能表-导轨式电能表-智能电能表-浙江科为电气有限公司 | 水平筛厂家-三轴椭圆水平振动筛-泥沙震动筛设备_山东奥凯诺矿机 包装设计公司,产品包装设计|包装制作,包装盒定制厂家-汇包装【官方网站】 | 医养体检包_公卫随访箱_慢病随访包_家签随访包_随访一体机-济南易享医疗科技有限公司 | 土壤检测仪器_行星式球磨仪_土壤团粒分析仪厂家_山东莱恩德智能科技有限公司 | 压滤机滤板_厢式_隔膜_板框压滤机滤板厂家价格型号材质-大凯环保 | 广东燎了网络科技有限公司官网-网站建设-珠海网络推广-高端营销型外贸网站建设-珠海专业h5建站公司「了了网」 | 沧州友城管业有限公司-内外涂塑钢管-大口径螺旋钢管-涂塑螺旋管-保温钢管生产厂家 | 氟氨基酮、氯硝柳胺、2-氟苯甲酸、异香兰素-新晨化工 | 检验科改造施工_DSA手术室净化_导管室装修_成都特殊科室建设厂家_医疗净化工程公司_四川华锐 | 长沙发电机-湖南发电机-柴油发电机供应厂家-长沙明邦智能科技 | 威廉希尔WilliamHill·足球(中国)体育官方网站 | 聚氨酯保温钢管_聚氨酯直埋保温管道_聚氨酯发泡保温管厂家-沧州万荣防腐保温管道有限公司 | 柴油机_柴油发电机_厂家_品牌-江苏卡得城仕发动机有限公司 | 电动手术床,医用护理床,led手术无影灯-曲阜明辉医疗设备有限公司 | 全自动包装秤_全自动上袋机_全自动套袋机_高位码垛机_全自动包装码垛系统生产线-三维汉界机器(山东)股份有限公司 | 环氧乙烷灭菌器_压力蒸汽灭菌器_低温等离子过氧化氢灭菌器 _低温蒸汽甲醛灭菌器_清洗工作站_医用干燥柜_灭菌耗材-环氧乙烷灭菌器_脉动真空压力蒸汽灭菌器_低温等离子灭菌设备_河南省三强医疗器械有限责任公司 | 江西自考网-江西自学考试网| hdpe土工膜-防渗膜-复合土工膜-长丝土工布价格-厂家直销「恒阳新材料」-山东恒阳新材料有限公司 ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 馋嘴餐饮网_餐饮加盟店火爆好项目_餐饮连锁品牌加盟指南创业平台 | 英国公司注册-新加坡公司注册-香港公司开户-离岸公司账户-杭州商标注册-杭州优创企业 | 低浓度恒温恒湿称量系统,强光光照培养箱-上海三腾仪器有限公司 | 「银杏树」银杏树行情价格_银杏树种植_山东程锦园林 | 数控专用机床,专用机床,自动线,组合机床,动力头,自动化加工生产线,江苏海鑫机床有限公司 | 国际船舶网 - 船厂、船舶、造船、船舶设备、航运及海洋工程等相关行业综合信息平台 | 防堵吹扫装置-防堵风压测量装置-电动操作显示器-兴洲仪器 | 卧涛科技有限公司科技项目申报公司|高新技术企业申报|专利申请 | 湿地保护| 集装袋吨袋生产厂家-噸袋廠傢-塑料编织袋-纸塑复合袋-二手吨袋-太空袋-曹县建烨包装 | 冷却塔厂家_冷却塔维修_冷却塔改造_凉水塔配件填料公司- 广东康明节能空调有限公司 | 电动手术床,医用护理床,led手术无影灯-曲阜明辉医疗设备有限公司 | 越南专线物流_东莞国际物流_东南亚专线物流_行通物流 | 岛津二手液相色谱仪,岛津10A液相,安捷伦二手液相,安捷伦1100液相-杭州森尼欧科学仪器有限公司 | 泵阀展|阀门展|水泵展|流体机械展 -2025上海国际泵管阀展览会flowtech china | 广州办公室设计,办公室装修,写字楼设计,办公室装修公司_德科 | 水上浮桥-游艇码头-浮动码头-游船码头-码瑞纳游艇码头工程 |