我们说我有以下Google Cloud端点:
@ApiMethod(name = "account.insert")
public Account insertAccount(Account account, @Named("userId") Long userId)
@ApiMethod(name = "user.get")
public User getUser(@Named("id") Long id)
我们假设帐户有一个对用户的引用,该用户应在插入帐户时创建。所以我需要做的是首先通过userId查找用户以确保它存在,然后在Account中设置引用。
为避免冗余,我决定调用getUser(userId),因为此功能作为另一个端点存在。
只要两个方法/端点都在同一个类/文件中,这就可以正常工作。一旦我越过班级边界,我收到以下消息:
"非静态方法(...)无法从静态内容中引用"
首先,如果内容在方法签名中没有被标记为静态,我就不明白为什么内容是静态的,但是@ApiMethod注释可能在这里完成它的工作,因为这是可以理解的API作为静态方法公开。
其次,我可能可以通过使用委托函数解决这个问题,但是我想知道从另一个端点调用我自己的端点之一是否被认为是一种好习惯。
请告诉我你的想法。