当前位置: 首页 > 知识库问答 >
问题:

云endpoint方法可见性

罗梓
2023-03-14

我正在开发一个带有谷歌云endpoint的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 anotation->不起作用,该方法在我的浏览器的api资源管理器中仍然可见。
将访问修饰符设置为private对我来说不是一个解决方案,因为我想从其他endpoint调用此方法。
删除访问修饰符对我来说也不是一个解决方案,因为我需要此方法从其他包(测试包)可见。

这个问题到底有没有解决办法?

共有1个答案

蓟捷
2023-03-14

不幸的是,目前不支持此场景。最好的解决方案是将方法移动到一个帮助器类中,并在所有endpoint类之间共享它。

 类似资料:
  • 是否可以(仅仅)使用Byte-Buddy更改某些方法的可见性?我有一个带有私有静态方法的用户类,我需要将一些调用委托给这些方法,但由于它们是私有的,所以当前失败了。因此,我想知道是否可以通过添加公共修饰符来转换上述方法来重新定义user类。 对于记录,在目标Java方法上调用setAccessible(true)方法作为not effect,因为Byte Buddy仍然失败,出现以下异常: 我发现

  • 当然,舞台和场景是在程序初始化时以编程方式创建的。我还想以编程方式添加一个GridPane作为图中所示滚动窗格的子级。在我的程序(特定窗口的控制器)中,我可以获得对滚动窗格的引用: (id srcPaneUsers已通过场景生成器属性窗口的相应字段指定) 但是!!:当我尝试通过控制器的initialize方法的以下行以编程方式添加在运行时创建的新GridPane时: 我收到一个编译时错误,上面写着

  • 问题内容: 默认情况下,接口中的所有方法是否都具有“公共可见性”模式? 问题答案: 接口中的所有方法默认为。 请参阅Java语言规范6.6.1,其中规定 接口的所有成员都是隐式的。

  • 问题内容: 我收到此编译器错误: 您不能降低继承方法的可见性。 我有以下代码 在此,父类具有公开的方法,并由私有的子类覆盖。现在,编译器抛出了我无法降低可见度的错误。从技术上讲,每当我创建一个分配给类型父对象的对象时,由于该方法被覆盖,因此将始终调用TestClass的func(),那么为什么还要注意可见性呢?这个错误背后的原因是什么?有人可以清楚地解释我吗? 问题答案: 这是因为子类有知名度的方

  • 我正在使用这个链接构建一个使用GCM的简单聊天应用程序,我发现了这个伟大的特性“Google Cloud Endpoints”,它使事情变得更容易。但我不敢依赖它,因为我注意到它仍然是试验性的。我可以信任它还是应该使用Java servlet?

  • 问题内容: 题: 在这里,“ MyClass”类可以通过调用“ Object”类中的clone方法来克隆其自己的对象。当我尝试在同一包“ GoodQuestions”中的另一个类(“ TestSingleTon”)中克隆此类(“ MyClass”)的类时,会引发以下编译时错误。 “来自对象类型的方法clone()不可见 ” 所以这是引发上述错误的代码? 问题答案: 发生此错误的原因是在对象类中cl