在 google app engine Endpoints 中使用 @Nullable 注释可选参数会删除该参数
Annotating optional param with @Nullable in google app engine Endpoints drops the parameter
@ApiMethod(name = "foo")
public void foo(@Nullable @Named("bar") String bar, User auth) throws OAuthRequestException
最终生成一个 API,其中 foo
方法不接受 bar 参数。如果我不使用@Nullable 注释,而只是从客户端传递 null,我会在运行时得到一个异常。
我确定这必须得到支持,我只是在做一些愚蠢的事情。谢谢
经过大量谷歌搜索,在这里找到了答案
@Nullable @Named in GAE / Android Sample
基本上,端点将生成一个 setXXX 方法,该方法将接受您的可选参数。您可以将 null 传递给它,因此如果您的参数不为 null,则无需 if/else 检查您只调用集合 API 的位置。漂亮。
没有例子就被延迟理解了,在这里我写信赞美@Creos的回应
collectionResponse = myApiService.activityByDay(idWebSafeFamily, token.getToken(), token.getTokenIdWebSafe(), nextPageToken).setIdUser(idUser).execute();
@ApiMethod(name = "foo")
public void foo(@Nullable @Named("bar") String bar, User auth) throws OAuthRequestException
最终生成一个 API,其中 foo
方法不接受 bar 参数。如果我不使用@Nullable 注释,而只是从客户端传递 null,我会在运行时得到一个异常。
我确定这必须得到支持,我只是在做一些愚蠢的事情。谢谢
经过大量谷歌搜索,在这里找到了答案 @Nullable @Named in GAE / Android Sample
基本上,端点将生成一个 setXXX 方法,该方法将接受您的可选参数。您可以将 null 传递给它,因此如果您的参数不为 null,则无需 if/else 检查您只调用集合 API 的位置。漂亮。
没有例子就被延迟理解了,在这里我写信赞美@Creos的回应
collectionResponse = myApiService.activityByDay(idWebSafeFamily, token.getToken(), token.getTokenIdWebSafe(), nextPageToken).setIdUser(idUser).execute();