appengine将User视为附加参数

时间:2016-10-24 14:50:12

标签: java google-app-engine android-studio google-cloud-endpoints

我在我的app-engine服务器上使用OAuth。这很简单,简单地添加User作为参数之一。但是当我这样做时,我得到编译错误

  

多个实体参数。只能有一个实体   每种方法的参数......

@ApiMethod(path = "updateDocument", name = "updateDocument", httpMethod = ApiMethod.HttpMethod.POST)
public void updateDocument(User user, MyDocument input){
  ...
}

它适用于表单

的方法
public MyBean sayHiUser(@Named("name") String name, User user)

当我拥有MyDocument等自定义对象时,它无法正常工作。

1 个答案:

答案 0 :(得分:2)

我觉得您的用户不属于导入com.google.appengine.api.users.User。

文档指出“每个方法只能有一个实体参数”(参见https://cloud.google.com/appengine/docs/java/endpoints/parameter-and-return-types)。

但是“除参数或注入类型之外的任何类型都被视为实体类型”而com.google.appengine.api.users.User的类型为“inject”:因此您不应该遇到任何问题,除非您的用户不属于这种类型。

Personaly我有像

这样的方法
var scene = new ScrollMagic.Scene({
   triggerElement: "#how-it-works", 
   duration: 4000
})

.setPin(".stage")
.addTo(controller)
.setTween(scrollAnimation);

// add a scene offset amount equal to the top positioning for the new container
scene.offset(300);

非常好用