gpt4 book ai didi

java - 带参数的 Google App Engine ApiMethod 不起作用

转载 作者:行者123 更新时间:2023-11-29 21:50:31 27 4
gpt4 key购买 nike

到目前为止,我能够在 Google 中找到所有问题的答案,但这次我放弃并创建了一个帐户...

我开始在 Eclipse 中为 Android 应用程序使用 GAE,我正在编写 API,当然还有 ApiMethods。
我写的其中一个方法有返回值,但是在客户端代码中好像是void。
这是我尝试生成的极其有用的方法:

@ApiMethod(name = "weather.bla")
public double Bla(double d)
{
return 2.5;
}

如您所见,此方法获取一个 double 变量作为参数并返回一个 double 变量,但在客户端代码中,它似乎不承认这些 double 变量。(它自动完成到 weather()。 bla() 和 .execute() 方法是 Void)
我什至尝试编辑生成的代码并在必要的地方添加 double ,但是当我尝试运行应用程序时它有点爆炸,没有“强制关闭”警报,没有警告,应用程序就消失了。

更奇怪的是,我在 GAE 代码上有一个名为“Weather”的类,并且使用 Wea​​ther 类的 ApiMethods 得到了完美的生成。

我是不是遗漏了一些基本的东西?

最佳答案

您应该将 Java Beans 作为您的参数和返回类型进行传递。这将起作用:

class Response {
private Double d;

// getter and setter
}

@ApiMethod(name = "weather.bla")
public Response Bla()
{
Response r = new Response();
r.setD(2.5)
return r;
}

查询参数是个异常(exception)(作为 API 方法的参数)。如果使用 @Named 注释来注释参数,则它不再需要是 Java Bean(您可以使用 DoubleString等)例如:

@ApiMethod(name = "weather.bla")
public Response Bla(@Named("d") Double d)
{
Response r = new Response();
r.setD(d)
return r;
}

关于java - 带参数的 Google App Engine ApiMethod 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14526038/

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