0

我是 Google Cloud Endpoints 的新手,目前正在寻找另一种接收User方法参数的方法。

在有关Authenticating Users的文档中,接收显示的有关用户的信息的唯一方法是接收一个实例com.google.api.server.spi.auth.common.User作为方法参数。

除了直接在端点方法上之外,似乎没有任何注释可以用来在其他地方请求此原则。这显然可以工作,但我对以下场景非常感兴趣:

/*
 * in an injection provider
 */
CustomUserClass getUser(@EndpointsUser User user) throws UnauthorizedException{
    if(user == null) throw new UnauthorizedException("If we're requesting the user be injected, we should reject unauthenticated requests");
    //datastore code to lookup and return my representation of a user
}

/*
 * in the endpoint class
 */
@Inject
CustomUserClass userProfile;

//endpoint methods here

有谁知道如何做到以上几点?我意识到我可以简单地将这个逻辑移动到我的端点类中,但这是一个横切关注点的情况,不仅是糟糕的编程,而且不太容易测试。

是的,我知道我可以扮演自己的解决方案(双关语),但云端点应该让这种事情变得简单,不是吗?

4

1 回答 1

0

目前这是不可能的,因为在编写框架时 Guice 用例并不常见。您可以提出功能请求

于 2018-04-16T20:07:46.777 回答