云端点方法可见性
Cloud endpoints methods visibility
我正在使用 Google Cloud Endpoints 开发一个 Android 应用程序,我已经阅读了很多关于它的文档和教程,但仍然缺少一个信息:如何选择后端的方法将对 Android 客户可见?
假设我有一个 FriendshipEndpoint,FriendshipEndpoint 有这个方法:
@ApiMethod(name = "listFriendship", path = "listFriendship")
public CollectionResponse<Friendship> listFriendship(
@Nullable @Named("cursor") String cursorString,
@Nullable @Named("limit") Integer limit)
编辑 FriendshipEndpoint 用@Api
注释
注释
此方法应仅在后端可见(而不是 Android 客户端)。
我已尝试删除 @ApiMethod 注释 -> 不起作用,该方法在我浏览器的 api 资源管理器中仍然可见。
将访问修饰符设置为私有对我来说不是解决方案,因为我想从其他端点调用此方法。
删除访问修饰符对我来说也不是解决方案,因为我需要这个方法从其他包(测试包)中可见。
这个问题有解决方案吗?
很遗憾,目前不支持此方案。最好的解决方案是将该方法移至助手 class 并在所有端点 classes 之间共享。
我正在使用 Google Cloud Endpoints 开发一个 Android 应用程序,我已经阅读了很多关于它的文档和教程,但仍然缺少一个信息:如何选择后端的方法将对 Android 客户可见?
假设我有一个 FriendshipEndpoint,FriendshipEndpoint 有这个方法:
@ApiMethod(name = "listFriendship", path = "listFriendship")
public CollectionResponse<Friendship> listFriendship(
@Nullable @Named("cursor") String cursorString,
@Nullable @Named("limit") Integer limit)
编辑 FriendshipEndpoint 用@Api
注释
此方法应仅在后端可见(而不是 Android 客户端)。
我已尝试删除 @ApiMethod 注释 -> 不起作用,该方法在我浏览器的 api 资源管理器中仍然可见。
将访问修饰符设置为私有对我来说不是解决方案,因为我想从其他端点调用此方法。
删除访问修饰符对我来说也不是解决方案,因为我需要这个方法从其他包(测试包)中可见。
这个问题有解决方案吗?
很遗憾,目前不支持此方案。最好的解决方案是将该方法移至助手 class 并在所有端点 classes 之间共享。