0
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 конечных точек Google

Я пытаюсь установить ограничение на нуль, так что все записи на сервере DataStore будут извлечены с помощью ниже:

 List<Eateries> eateries = myApiService.list().set("limit", null).execute().getItems(); 

Однако подоконника сохраняет ограничения его значения в любой DEFAULT_LIST_LIMIT является установлен в.

  1. Как я могу установить предел в null, чтобы я мог получить все записи за один раз?
  2. Может кто-нибудь объяснить мне, что делает следующую строку:

    limit = limit == null ? DEFAULT_LIST_LIMIT : limit; 
    
+0

Я только что в конечном итоге создать свой собственный APIMethod как редактирование этого автоматически генерируется один занимает слишком много времени. – Rafiq07

ответ

0

Это будет делать то, что вы хотите:

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); 
    } 
0
limit = limit == null ? DEFAULT_LIST_LIMIT : limit; 

Оказывается, эта строка устанавливает ограничение на значение DEFAULT_LIST_LIMIT если предел равно нулю.

Я попытался установить DEFAULT_LIST_LIMIT 0, так что предел будет тогда 0, который фактически означает отсутствие ограничения при использовании:

ofy().load().type(Eateries.class).limit(limit); 

Однако он по-прежнему возвращается с ошибкой сказать что-то о размере порции должно быть более 0.

Так что я более или менее создал свой собственный ApiMethod, который полностью пропускает полный набор ограничений.

Смежные вопросы