OpenAPI-Generator-CLI Java

简介

OpenAPI Generator是一个开源的代码生成工具,根据OpenAPI规范(以前称为Swagger规范)生成客户端库、服务器存根、文档和API测试代码。OpenAPI Generator支持多种语言,包括Java、JavaScript、Python等。本文将重点介绍使用OpenAPI-Generator-CLI生成Java客户端库的方法和示例。

安装和配置

要使用OpenAPI-Generator-CLI生成Java客户端库,需要先安装Java和Maven,并确保系统已正确配置Java和Maven的环境变量。

安装Java

首先,从官方网站( Development Kit(JDK)。安装完成后,可以使用以下命令验证Java是否安装成功:

java -version

安装Maven

接下来,从Maven官方网站(

mvn -version

安装OpenAPI-Generator-CLI

使用以下命令安装OpenAPI-Generator-CLI:

npm install @openapitools/openapi-generator-cli -g

生成Java客户端库

准备OpenAPI规范文件

在生成Java客户端库之前,需要准备好OpenAPI规范文件(通常为swagger.jsonswagger.yaml)。如果没有现成的规范文件,可以使用Swagger Editor(

执行生成命令

使用以下命令生成Java客户端库:

openapi-generator-cli generate -i <path-to-spec-file> -g java -o <output-directory>

参数解释:

  • -i:指定OpenAPI规范文件的路径
  • -g:指定生成的目标语言,这里选择Java
  • -o:指定生成代码的输出目录

例如,下面的命令将使用名为swagger.json的规范文件生成Java客户端库,并将生成的代码保存在./generated/java目录中:

openapi-generator-cli generate -i swagger.json -g java -o ./generated/java

生成结果

生成完成后,可以在指定的输出目录中找到生成的Java客户端库代码。代码结构如下所示:

./generated/java
└── src
    └── main
        ├── java
        │   └── com
        │       └── example
        │           ├── api
        │           │   ├── DefaultApi.java
        │           │   └── ...
        │           ├── model
        │           │   ├── Pet.java
        │           │   └── ...
        │           └── Configuration.java
        └── resources
            └── ...

com.example.api.DefaultApi是自动生成的示例API类,com.example.model.Pet是自动生成的示例模型类。生成的代码可以直接用于与API进行交互。

使用Java客户端库

生成的Java客户端库提供了API类和模型类,可以直接使用它们与API进行交互。以下是一个简单的示例,演示如何使用生成的Java客户端库调用一个API接口。

示例代码

import com.example.api.DefaultApi;
import com.example.model.Pet;

public class Main {
    public static void main(String[] args) {
        // 创建API实例
        DefaultApi api = new DefaultApi();

        // 创建Pet对象
        Pet pet = new Pet();
        pet.setId(1L);
        pet.setName("Tom");

        try {
            // 调用API接口
            api.addPet(pet);
            System.out.println("Pet added successfully!");
        } catch (ApiException e) {
            System.err.println("Failed to add pet: " + e.getMessage());
        }
    }
}

示例说明

上述示例代码创建了一个DefaultApi实例,然后创建了一个Pet对象,并设置了ID和名称。接下来,调用addPet方法将该宠物添加到服务器上。如果添加成功,将打印"Pet added successfully!",否则将打印失败信息。

总结

OpenAPI-Generator-CLI是一个强大的工具,可以根据OpenAPI规范生成