2016-11-11 13 views
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のコードを抜粋して一覧にしたものです。Google Endpoint APIの制限をnullにする方法

私は、データストアサーバー上のすべてのエントリは、以下を使用して取得されるようにnullに制限を設定しようとしています:

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

それは敷居どんなDEFAULT_LIST_LIMITの値に制限し続けるがされに設定。

  1. すべてのエントリを一度に取得できるように、制限をnullに設定するにはどうすればよいですか?
  2. は、誰かが下の行が何をしているのか私に説明してもらえ:

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

私はちょうど1があまりにも多くの時間を取っていた、これは自動的に生成された編集と自分の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; 

それは限界がnullの場合、この行はDEFAULT_LIST_LIMITの値に上限を設定しているが判明しました。

私がに使用した場合ので、制限はその後、効果的に制限がないことを意味0になり、0にDEFAULT_LIST_LIMITを設定してみました:それはまだチャンクサイズについての何かがなければならないというエラーで戻って来ていた

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

しかし、

私は多かれ少なかれ完全に制限があることを完全に見過ごしている自分のApiMethodを作成しました。

関連する問題