API 是一项远程过程调用 (RPC) 服务,它提供了外部客户端可以访问的远程方法。每个后端 API 均包含一个 RPC 服务类(它是 ProtoRPC remote.Service
类的子类)以及一个或多个方法。定义方法时,您还必须为传入该方法的请求以及该方法返回的响应定义 Message
类。Message
类会执行映射功能,因此系统能够提取传入数据,并将这些数据提供给适当的服务方法,或提供给适当的传出响应。
如果请求包含路径或查询字符串参数,那么您需要使用 ResourceContainer
类进行映射,而不是使用简单的 Message
类。
最后,您需要修饰 API 服务类和类方法,并且需要为请求和响应定义 Message
类。
创建 API
以下过程演示了如何修饰您的代码,以创建在单个类中实现的 API。如果您的 API 是多类 API,请参阅创建使用多个类实现的 API。 如需详细了解所有可用的修饰器,请参阅修饰器。
要创建 API,请执行以下操作:
添加以下必要的导入:
定义
remote.Service
的子类,并使用@endpoints.api
对其进行修饰:请注意,您的 API 名称和服务类名称不必相同。版本号适用于 API 的版本。您输入的值将成为 API 网址中路径的一部分。如需详细了解版本,请参阅处理 API 版本控制。
确定您的方法要求请求中包含哪些数据以及返回哪些数据,并为请求正文和响应正文创建
Message
类:请注意,如果请求正文中未显示参数(例如在
GET
请求中),那么您可以省略该请求的Message
类,而只需使用值message_types.VoidMessage
。如果您的请求包含路径或查询字符串参数,请将
Message
类替换为相应的ResourceContainer
。如需全面了解如何构建和使用
Message
类,请参阅 Google Protocol RPC 响应和请求Message
类的相关文档。为您的 API 创建方法,并使用
@endpoints.method
对其进行修饰:如果您的请求包含路径或查询字符串数据,请将请求消息类型替换为相应的
ResourceContainer
。添加代码以提供您的 API,具体请参阅创建网络服务器。