如何使谷歌端点API的限制为空
问题描述:
public CollectionResponse<Eateries> list(@Nullable @Named("cursor") String cursor, @Nullable @Named("limit") Integer limit) {
limit = limit == null ? DEFAULT_LIST_LIMIT : limit;
Query<Eateries> query = ofy().load().type(Eateries.class).limit(limit);
以上是来自端点API获取列表的代码片段。如何使谷歌端点API的限制为空
我试图将限制设置为空,这样的数据存储服务器上的所有参赛作品将通过使用下面的检索:
List<Eateries> eateries = myApiService.list().set("limit", null).execute().getItems();
然而,窗台保持它限制了任何的DEFAULT_LIST_LIMIT是价值设置。
- 如何将限制设置为空,以便我可以一次性获取所有条目?
-
有人能向我解释什么,下面一行是这样做的:
limit = limit == null ? DEFAULT_LIST_LIMIT : limit;
答
这会做你想要什么:
public CollectionResponse<Eateries> list(@Nullable @Named("cursor") String cursor, @Nullable @Named("limit") Integer limit) {
Query<Eateries> query = ofy().load().type(Eateries.class);
if (limit != null) {
query.limit(limit);
}
答
limit = limit == null ? DEFAULT_LIST_LIMIT : limit;
事实证明,如果限制为null,该行设置的限制DEFAULT_LIST_LIMIT的价值。
我试着设置DEFAULT_LIST_LIMIT为0,这样在使用时,该限制将被0这实际上意味着没有限制:
ofy().load().type(Eateries.class).limit(limit);
但是它仍然有一个错误回来说一些关于数据块大小必须是大于0.
因此,我已经或多或少地创建了自己的ApiMethod,它完全忽略了完全限制的设置。
我刚刚结束了创建我自己的APIMethod为编辑此自动生成一个耗费太多的时间。 – Rafiq07