【问题标题】:Annotating optional param with @Nullable in google app engine Endpoints drops the parameter在 google app engine Endpoints 中使用 @Nullable 注释可选参数会删除参数
【发布时间】:2015-01-29 03:03:09
【问题描述】:
@ApiMethod(name = "foo")
public void foo(@Nullable @Named("bar") String bar, User auth) throws OAuthRequestException

最终生成一个 API,其中 foo 方法采用 NO bar 参数。如果我不使用 @Nullable 进行注释,而只是从客户端传递 null,我会在运行时遇到异常。

我确信这必须得到支持,我只是在做一些愚蠢的事情。谢谢。

【问题讨论】:

    标签: google-cloud-endpoints google-app-engine


    【解决方案1】:

    经过大量的谷歌搜索,在这里找到了答案 @Nullable @Named in GAE / Android Sample

    基本上,端点将生成一个 setXXX 方法,该方法将接受您的可选参数。您可以将 null 传递给它,因此如果您的参数不为 null,则无需 if/else 检查您仅在哪里调用 set API。漂亮。

    【讨论】:

    • 我认为这种行为至少从 2.0.3 版更改为 2.2.1 版。现在我需要输入@com.google.api.server.spi.config.Nullable@javax.annotation.Nullable。如果我想接受一个空参数。
    【解决方案2】:

    在没有例子的情况下被延迟理解,在这里我写信以恭维@Creos的回应

    collectionResponse = myApiService.activityByDay(idWebSafeFamily, token.getToken(), token.getTokenIdWebSafe(), nextPageToken).setIdUser(idUser).execute();
    

    【讨论】:

      猜你喜欢
      • 2013-07-01
      • 2021-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-09
      • 2015-04-29
      • 2014-01-20
      • 1970-01-01
      相关资源
      最近更新 更多