gpt4 book ai didi

google-app-engine - 使用@Named 和未命名参数从 Javascript 客户端库进行调用是没有意义的

转载 作者:行者123 更新时间:2023-12-04 04:34:27 28 4
gpt4 key购买 nike

我有一个 Cloud Endpoints看起来像这样的方法:

//HTTP POST
@ApiMethod(name = "hylyts.insert")
public Hylyt insertHylyt(@Named("url") String url, Hylyt hylyt, User user)
throws OAuthRequestException{
log.info("Trying to save hylyt '"+hylyt+"' with id '"+hylyt.getId());
if (user== null) throw new OAuthRequestException("Your token is no good here.");
hylyt.setArticle(getArticleKey(url, user));
ofy().save().entity(hylyt);
return hylyt;
}

我从 Javascript Client Library 调用它使用这个:
gapi.client.hylytit.hylyts.insert({PARAMS}).execute(callback);

现在,如果我构造 {PARAMS}正如 docs 中所建议的(第二个例子),
{
'url': url,
'resource': {
'hylyt': {
'contentType': 'application/json',
'data': hylyt
}
}
}

我在端点得到一个空对象(更不用说这个库的全部意义是使这些调用变得简单,这个结构显然违反了这一点)。

当我构造 {PARAMS}these answers建议,
{
'url': url,
'resource': hylyt
}

我再次在端点中得到一个空对象。正确的语法是这样的:
{
'url': url,
'id': hylyt.id
'text': hylyt.text
}

这让我大吃一惊。我做这一切都错了吗?这是一个错误吗?是否只是因为 gapi也路过 auth token在后台?

是的,我可以使用 request语法代替,但是,同样,如果它与制作 XHR 一样复杂,为什么还要使用该库? s 在纯 javascript 中?如果谷歌在文档中解释了事情发生的原因,我不会介意复杂性。但是文档,解释说,只是说使用这些方法,身份验证、CORS 和 XHR 魔术将在闭门造车的情况下发生。

最佳答案

API 方法是否正确识别为 POST方法?

作为 POST 正文发送的资源参数在 GET 中无法正常工作请求。
看起来您实际上是在发送 GET使用查询字符串中的 Hylyt 属性请求。

为了确保您可以将方法注释更改为:

@ApiMethod(name = "hylyts.insert", httpMethod = HttpMethod.POST)

关于google-app-engine - 使用@Named 和未命名参数从 Javascript 客户端库进行调用是没有意义的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19988725/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com