如何配置Google Cloud Endpoints以在API生成期间忽略特定方法?
我想将我的FooServiceImpl服务的一些方法(但不是全部)公开为Cloud Endpoints API。 在我的FooServiceImpl上使用@Api注释,Google Cloud Endpoints会尝试公开所有公共方法(如果响应类不正确,则会失败)。
如何在我的服务中使用Cloud Endpoints不会尝试在API中公开的公共方法?
解决方案是拥有两个服务类:
FooServiceImpl,包含实现方法
FooServiceApi,它只包含API公开的方法,每个方法都在FooServiceImpl中调用它的实现
但这是一个不太理想和冗长的解决方案,这意味着每个服务都有两个类,代码非常相似......
答案 0 :(得分:1)
如果出现以下情况,则类方法会出现在API表面中:
@ApiMethod
注释。public
并遵循RESTful方法名称的命名约定(将Resource替换为您的JavaBean的名称):
getResource
insertResource
updateResource
listResource
removeResource
袖手旁观的建议是在您班级的公开API private
中制作您不需要的方法。
答案 1 :(得分:0)
我了解您只需要避免在您不希望在API中公开的那些方法中使用@ApiMethod
注释。
事实上我没试过这个,但它的文档说:
注释@ApiMethod用于指示方法是其中的一部分 API。
所以似乎很清楚,如果你不使用那个注释,该方法将不会成为API的一部分......