Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 目标化退货清单&;光标_Google App Engine_Google Cloud Endpoints_Objectify - Fatal编程技术网

Google app engine 目标化退货清单&;光标

Google app engine 目标化退货清单&;光标,google-app-engine,google-cloud-endpoints,objectify,Google App Engine,Google Cloud Endpoints,Objectify,我试图使用Objectify和googleappengine的游标来返回数据子集和游标,以便在用户准备好时检索更多数据。我找到了一个与我需要的完全相同的示例,但我不知道如何返回最终列表和光标。以下是我的代码: @ApiMethod(name = "listIconThemeCursor") //https://code.google.com/p/objectify-appengine/wiki/Queries#Cursors public CollectionResponse<IconTh

我试图使用Objectify和googleappengine的游标来返回数据子集和游标,以便在用户准备好时检索更多数据。我找到了一个与我需要的完全相同的示例,但我不知道如何返回最终列表和光标。以下是我的代码:

@ApiMethod(name = "listIconThemeCursor") //https://code.google.com/p/objectify-appengine/wiki/Queries#Cursors
public CollectionResponse<IconTheme> listIconThemeCursor(@Named("cursor") String cursorStr) {
    Query<IconTheme> query = ofy().load().type(IconTheme.class).limit(10);
    if (cursorStr != null ) {
        query.startAt(Cursor.fromWebSafeString(cursorStr));
    }
    List<IconTheme> result = new ArrayList<IconTheme>();
    int count = 0;
    QueryResultIterator<IconTheme> iterator = query.iterator();
    while (iterator.hasNext()) {
        IconTheme theme = iterator.next();
        result.add(theme);
        count++;
    }
    Cursor cursor = iterator.getCursor();
    String encodeCursor = cursor.toWebSafeString();
    return serial(tClass, result, encodeCursor);
}
@ApiMethod(name=“listIconThemeCursor”)//https://code.google.com/p/objectify-appengine/wiki/Queries#Cursors
public CollectionResponse listIconThemeCursor(@Named(“cursor”)字符串cursorStr){
Query Query=ofy().load().type(IconTheme.class).limit(10);
if(cursorStr!=null){
query.startAt(Cursor.fromWebSafeString(cursorStr));
}
列表结果=新建ArrayList();
整数计数=0;
QueryResulterator迭代器=query.iterator();
while(iterator.hasNext()){
IconTheme主题=迭代器.next();
结果.添加(主题);
计数++;
}
Cursor Cursor=iterator.getCursor();
字符串encodeCursor=cursor.towerbsafesting();
返回序列号(tClass、result、encodeCursor);
}
请注意,这是从以前的端点修改的,在该端点中,我返回了所有数据的CollectionResponse。我的数据集足够大,因此不再实用。基本上,我不知道用户的“serial”(tClass、result、encodeCursor)函数中有什么让它返回给用户


还有另一个例子,但它似乎也不能回答我的问题。

我不太明白你在问什么,但我看到你的代码中有一个直接的错误:

query.startAt(Cursor.fromWebSafeString(cursorStr));
……应该是:

query = query.startAt(Cursor.fromWebSafeString(cursorStr));

Objectify命令对象是不可变的功能对象。

经过长时间的努力,我发现CollectionResponse中有光标:(

下面是我使用的完整代码,其中包含了上面stickfigure的注释:

   @ApiMethod(name = "listIconThemeCursor", path="get_cursor") 
    public CollectionResponse<IconTheme> listIconThemeCursor(@Named("cursor") String cursorStr) {
        Query<IconTheme> query = ofy().load().type(IconTheme.class)
                .filter("errors <", 10)
                .limit(10);
        if (cursorStr != null ) {
            query = query.startAt(Cursor.fromWebSafeString(cursorStr));
        }
        List<IconTheme> result = new ArrayList<IconTheme>();
        QueryResultIterator<IconTheme> iterator = query.iterator();
        while (iterator.hasNext()) {
            IconTheme theme = iterator.next();
            result.add(theme);
        }
        Cursor cursor = iterator.getCursor();
        CollectionResponse<IconTheme> response = CollectionResponse.<IconTheme> builder()
                .setItems(result)
                .setNextPageToken(cursor.toWebSafeString())
                .build();

        return response;
    }
ApiMethod(name=“listIconThemeCursor”,path=“get\u cursor”) public CollectionResponse listIconThemeCursor(@Named(“cursor”)字符串cursorStr){ Query Query=ofy().load().type(IconTheme.class)
.filter(“错误”很好地捕捉到了这一点(我确信以后它会杀了我)。但基本上,我不知道返回序列是什么(tClass、result、encodeCursor)是。我只知道如何返回CollectionResponse,而不知道如何返回ArrayList+光标。这是一个为熟悉Google端点的人准备的问题。我建议你用Google端点标记这个问题,以获得正确的关注。谢谢,这救了我的命!非常感谢。找不到CollectionResponse Javadocs,所以这是非常有帮助。cursorStr是否也应该是
@Nullable
?我想它可以@willma,但如果没有它,它会运行得很好。