3

如何将 Google Cloud Endpoints 配置为在 API 生成期间忽略特定方法?

我想将我的 FooServiceImpl 服务的一些方法(但不是全部)公开为 Cloud Endpoints API。通过我的 FooServiceImpl 上的 @Api 注释,Google Cloud Endpoints 会尝试公开所有公共方法(如果响应类不正确,则会失败)。

如何在我的服务中有一个 Cloud Endpoints 不会尝试在 API 中公开的公共方法?

一个解决方案是有两个服务类:

  • FooServiceImpl,包含实现方法

  • FooServiceApi,仅包含 API 公开的方法,每个方法在 FooServiceImpl 中调用其实现

但这是一个不理想且冗长的解决方案,这意味着我们为每个服务有两个类,代码非常相似......

4

2 回答 2

1

类方法出现在 API 表面中,如果:

  • 它们用 注释@ApiMethod
  • 它们public遵循 RESTful 方法名称的命名约定(将 Resource 替换为您的 JavaBean 的名称):
    • getResource
    • insertResource
    • updateResource
    • listResource
    • removeResource

现成的建议是private在你的类的公共 API 中创建你不想要的方法。

于 2013-10-16T22:09:15.993 回答
0

我知道您只需要避免@ApiMethod在您不想在 API 中公开的那些方法中使用注释。

实际上我没有尝试过,但它的文档说:

注解@ApiMethod 用于指示方法是API 的一部分。

所以似乎很清楚,如果您不使用该注释,该方法将不会成为 API 的一部分......

于 2013-10-01T11:40:41.353 回答