您可以生成客户端库软件包,以允许应用使用 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。