您可以生成客户端库软件包,以允许应用使用 Endpoints Frameworks 命令行工具访问您的 API。生成客户端库时,Endpoints Frameworks 命令行工具会自动生成一个发现文档,用于描述您的 API 的表面。
要获取 Endpoints Frameworks 命令行工具,请从 Maven Central Repository 下载 endpoints-framework-tools。将此 ZIP 文件的内容解压缩后,此工具位于 endpoints-framework-tools-2.2.1/bin/ 目录中。
通过 API 生成客户端库软件包
您可以使用 Endpoints Frameworks 命令行工具生成以下类型的客户端软件包:
- Maven:此软件包包含一个 - pom.xml文件,此文件中包含 Endpoints Frameworks 和 Google API 客户端库依赖项。- readme.html文件详细介绍了对于不同类型的客户端应用您需要向- pom.xml文件添加的内容,并介绍了如何使用 Maven 为 API 构建客户端库。
- Gradle:此软件包包含一个 - build.gradle文件,此文件中包含 Endpoints Frameworks 和 Google API 客户端库依赖项。- readme.html文件详细介绍了对于不同类型的客户端应用,您需要向- build.gradle文件添加的内容,并详细介绍了如何使用 Gradle 为 API 构建客户端库。
- 默认客户端软件包:此软件包包含所有依赖库和生成的 - source.jar文件,即您在客户端调用 API 时使用的 Java 库。此软件包为您的客户端提供所有 Google API 客户端库功能,包括 OAuth。- readme.html文件列出了不同类型的客户端应用所需的- .jar文件,以及有关使用客户端库的其他详细信息。
如果您要将客户端库与 Android 应用结合使用,建议您使用 Gradle 客户端软件包。
命令行语法
在使用 Endpoints Frameworks 命令行工具之前,您必须先构建后端项目,因为此工具要求使用已编译的二进制文件。如果您不想使用默认的 --war="./war",则可以选择提供指向构建目标输出目录(包含 WEB-INF 目录和已编译的 java 类)的 --war= 选项。
基本语法如下所示:
/path-to/endpoints-framework-tools-2.2.1/bin/endpoints-framework-tools \
    get-client-lib OPTIONS CLASS_NAME
其中:
- OPTIONS(如果提供)是选项表格中显示的一项或多项。
- CLASS_NAME是 API 的完全限定类名称。
例如:
/path-to/endpoints-framework-tools-2.2.1/bin/endpoints-framework-tools \
    get-client-lib --war=target/echo-1.0-SNAPSHOT -bs gradle com.example.echo.Echo
其中 target/echo-1.0-SNAPSHOT 是目标构建目录(包含 WEB-INF 和已编译和后端类)的相对路径或绝对路径。
选项
您可以使用以下选项:
| 选项名称 | 说明 | 示例 | 
|---|---|---|
| build-system | 用于指定应生成哪种类型的客户端软件包。可指定 gradle(生成 Android Gradle 客户端软件包)、maven(生成 Maven 客户端软件包)或default(或省略此选项)(生成仅包含依赖项库和源代码 jar 的软件包)。 | --build-system=gradle-bs gradle | 
| war | 设置指向构建目标目录 WEB-INF(包含appengine-web.xml和其他元数据)的路径。默认值: ./war。 | --war=target/echo-1.0-SNAPSHOT-w target/echo-1.0-SNAPSHOT | 
| output | 设置将输出写入到的目录。 默认值:从其中调用工具的目录。 | --output=/mydir-o /mydir | 
受支持的客户端平台
Endpoints Frameworks 命令行工具生成的客户端软件包支持以下平台:
- Java 7 及更高版本:
- Android 1.6 及更高版本。
- App Engine。