目的
通过OpenAPI格式定义的接口信息,生成SpringBoot Reactive接口Jar包,并上传到私有仓库
环境交待
开发工作IDEA 构建工具Gradle 接口定义OpenAPI 3.0.0 Java版本 JDK11 SpringBoot版本 2.1.7.RELEASE
实施
根据OpenAPI接口生成SpringBoot Reactive接口Java类
这里使用Gradle中的第三方插件来将OpenAPI接口生成Java接口
plugins { // Gradle第三方插件,可通过swagger接口文档生成代码 id "org.hidetake.swagger.generator" version "2.18.1" }
同时引入依赖openapi-generator-cli
dependencies { // 以下swaggerCodegen,三选一 // swaggerCodegen 'io.swagger:swagger-codegen-cli:2.4.2' // Swagger Codegen V2 // swaggerCodegen 'io.swagger.codegen.v3:swagger-codegen-cli:3.0.5' // or Swagger Codegen V3 swaggerCodegen 'org.openapitools:openapi-generator-cli:3.3.4' // or OpenAPI Generator }
配置OpenAPI yaml文件位置
// 代码生成,api定义yaml配置 swaggerSources { buddie { // 指定api yaml文件 inputFile = file("$projectDir/src/main/resources/swagger/openApi.yaml") } }
指定swagger生成代码的配置文件
// 代码生成,api定义yaml配置 swaggerSources { buddie { // 指定api yaml文件 inputFile = file("$projectDir/src/main/resources/swagger/openApi.yaml") code { // 指定生成代码的类型 language = 'spring' // 指定生成代码时的个性化配置文件 configFile = file("$projectDir/src/main/resources/swagger/config.json") } } }
在config.json文件中指定了代码生成的包名,所使用的库,是否支持Reactive,各种路径,及指定Java类型的转换等
{ "library": "spring-boot", "dateLibrary": "java8", "reactive": true, "hideGenerationTimestamp": true, "modelPackage": "cn.buddie.demo.api.model", "apiPackage": "cn.buddie.demo.api.controller", "invokerPackage": "cn.buddie.demo.api", "java8": true, "configPackage": "cn.buddie.demo.api.configuration", "useBeanValidation": true, "interfaceOnly": true, "typeMappings": { "OffsetDateTime": "Instant" }, "importMappings": { "java.time.OffsetDateTime": "java.time.Instant" } }
将生成的接口代码类,打包、上传
这里使用Gradle官方插件maven-publish,同时引入java插件
plugins { id 'java' // Gradle官方插件,用来发布jar包 id "maven-publish" }
同时引入SpringBoot,Springfox-Swagger包等
dependencies { // 引入spring-boot-starter-webflux:2.1.x版本,以支持reactive,打包时需要 implementation('org.springframework.boot:spring-boot-starter-webflux:2.1.7.RELEASE') // 引入springfox-swagger2,以支持swagger生成的接口,打包时需要 implementation("io.springfox:springfox-swagger2:2.9.2") }
配置发布jar包到指定私有仓库
// 发布jar包 publishing { publications { maven(MavenPublication) { //指定group/artifact/version信息,可以不填。默认使用项目group/name/version作为groupId/artifactId/version //artifactId = rootProject.name //如果是war包填写components.web,如果是jar包填写components.java from components.java } } // 不配置repositories,会发布到本地maven仓库 repositories { maven { //指定要上传的maven私服仓库 url = "http://localhost:8081/repository/maven-releases/" //认证用户和密码 credentials { username 'admin' password 'buddie' } } } }
相关推荐
openapi对外提供的jar包
OpenAPI Generator则是这个规范的实用工具,通过解析规范文件(通常是.yaml或.json格式),它可以生成多种编程语言的SDK(Software Development Kit),如Java、Python、C#、JavaScript等,这样开发者就可以直接在...
《深入解析"agent-openapi-3.0.jar.zip"——Java Agent与OpenAPI技术实践》 在Java开发领域,我们经常遇到各种类型的库和组件,它们以不同的形式提供,如JAR(Java Archive)文件。"agent-openapi-3.0.jar.zip"就是...
openapi-6.0.5.jar
OpenAPI 安全认证库 (JAVA) V1.1.4 OpenAPI 安全认证库封装了 HTTP/HTTPS 的 POST 与 GET 方法,提供 Java 调用 OpenAPI HTTP 接口统一的入口。OpenAPI 安全认证库屏蔽了 OpenAPI HTTP 接口签名细节, 降低 Java ...
Java_OpenAPI Generator是一款强大的工具,专门用于自动化API相关的开发工作,包括生成API客户端库、SDK、服务器存根以及相应的文档和配置。这个工具基于OpenAPI规范(以前称为Swagger),它是一个广泛接受的标准,...
openapi-7.0.3.jar
《OpenAPI安全认证库(Java)开发指南》 OpenAPI安全认证库是针对Java开发者设计的一个工具库,它专门用于简化对接OpenAPI HTTP接口的安全认证过程。该库封装了HTTP和HTTPS的POST与GET方法,提供了Java调用OpenAPI...
swagger通过OpenAPI Generator自动生成Jmeter脚本。 我们熟知,Jmeter可以自身录制脚本,还可以Fiddler录制生成Jmeter脚本,不管是Jmeter本身的录制还是Fiddler录制,都需要耗费较长的时间。今天我们介绍更简便的...
在这个项目中,开发者可能已经按照OpenAPI 3.0规范编写了Swagger JSON配置,并结合Swagger UI或类似工具,生成了详细的API文档。同时,这个库可能还包含了与API相关的JavaScript代码示例或者完整的API实现。 总的来...
2. **选择工具或库**:在Java环境中,有多种工具和库可以选择,如Springfox、OpenAPI Generator等,它们可以解析OpenAPI规格并生成相应的Java代码。 3. **生成Java代码**:使用选定的工具,输入OpenAPI规格文件,...
DyJava是一款功能强大的抖音Java开发工具包(SDK),支持抖音各个应用OpenAPI快速调用,包括但不限于移动/网站应用、抖音开放平台、抖店、TikTok和抖音小程序等。DyJava致力于简化开发流程,提高开发效率,让开发者...
《eSDK_Storage_OpenAPI_Java_V1.5.10——存储设备操作与文件系统管理的Java SDK详解》 在IT行业中,高效管理和操作存储设备是至关重要的任务,尤其对于企业级应用而言。"eSDK_Storage_OpenAPI_Java_V1.5.10" 是一...
【API Generator】是一个工具,主要用于根据OpenAPI规范自动生成针对Kubernetes API的代码。OpenAPI规范,也称为Swagger,是一种广泛采用的接口描述语言,用于定义RESTful API的结构和行为。通过使用此规范,开发者...
钉钉java sdk 配置代码使用,对接钉钉sdk,自动发送文本消息、链接消息、卡片消息、跳转审批消息,可以@所有人。超级方便的API接口。
Swagger是一个强大的API文档工具,它允许开发者通过注解在代码中定义RESTful API,并自动生成交互式的文档,便于测试和调试。在Spring MVC框架中,Swagger可以与之完美结合,帮助开发人员更轻松地管理API接口。这个...
以查询组织列表的接口`/api/resource/v1/org/advance/orgList`为例,用户可以在工具中勾选需要的请求头信息,生成签名,然后将这些信息复制到PostMan中,添加相应的头信息,填写Body内容,最后发送请求以验证接口。...
要生成程序包并生成文档(推荐): stack haddock 它将在docs文件夹中为此库生成文档。 要在正常位置生成文档(以启用到外部库的超链接),请删除 build: haddock-arguments: haddock-args: - "--odir=./docs...