端点 returns 值在已部署服务器上的顺序不同
Endpoint returns values in a different order on deployed server
我有一个端点 return 是一个值,它基本上是 10 行字符串,在我的数据库中表示为 class:
class BoardForm(messages.Message):
"""Used to show a board state"""
row_0 = messages.StringField(1)
row_1 = messages.StringField(2)
row_2 = messages.StringField(3)
row_3 = messages.StringField(4)
row_4 = messages.StringField(5)
row_5 = messages.StringField(6)
row_6 = messages.StringField(7)
row_7 = messages.StringField(8)
row_8 = messages.StringField(9)
row_9 = messages.StringField(10)
在我的开发服务器上,当我使用这个端点时,它整齐地 return 所有 10 行完全按照上面看到的顺序排列。但是,在部署了应用程序并在实时服务器上测试了端点(没有更改代码)后,我的行顺序有所不同。实时端点还有 "kind"
和 "etag"
的 returns 数据,这些数据不在开发服务器上,我提到它是因为这是我能看到的唯一其他区别。
我能够通过使用不同的 class:
创建一个显示正确顺序的解决方法
class StringMessages(messages.Message):
"""Outbound (multiple) string message"""
items = messages.StringField(1, repeated=True)
我只是将每一行放入此 class,创建一个列表,然后 return 那个值(显然也更改端点的 response_message
)。
但是,我真的很想知道为什么部署的服务器上的顺序会突然改变。它似乎不是随机的,因为每次重复尝试使用端点 return 相同的顺序(类似于 4、5、0、1、2、3、6、7、8、9 或所以)。我可以忍受我的工作,但如果有更好的方法可以解决这个问题,我宁愿不使用它。如果能对GAE有更深入的了解,那也是极好的。
看不到您如何显示输出。变量没有 "ordering"。返回一个确实有顺序的列表怎么样:
class BoardForm(messages.Message):
"""Used to show a board state"""
row_list = [messages.StringField(i) for i in range(1,11)]
我有一个端点 return 是一个值,它基本上是 10 行字符串,在我的数据库中表示为 class:
class BoardForm(messages.Message):
"""Used to show a board state"""
row_0 = messages.StringField(1)
row_1 = messages.StringField(2)
row_2 = messages.StringField(3)
row_3 = messages.StringField(4)
row_4 = messages.StringField(5)
row_5 = messages.StringField(6)
row_6 = messages.StringField(7)
row_7 = messages.StringField(8)
row_8 = messages.StringField(9)
row_9 = messages.StringField(10)
在我的开发服务器上,当我使用这个端点时,它整齐地 return 所有 10 行完全按照上面看到的顺序排列。但是,在部署了应用程序并在实时服务器上测试了端点(没有更改代码)后,我的行顺序有所不同。实时端点还有 "kind"
和 "etag"
的 returns 数据,这些数据不在开发服务器上,我提到它是因为这是我能看到的唯一其他区别。
我能够通过使用不同的 class:
创建一个显示正确顺序的解决方法class StringMessages(messages.Message):
"""Outbound (multiple) string message"""
items = messages.StringField(1, repeated=True)
我只是将每一行放入此 class,创建一个列表,然后 return 那个值(显然也更改端点的 response_message
)。
但是,我真的很想知道为什么部署的服务器上的顺序会突然改变。它似乎不是随机的,因为每次重复尝试使用端点 return 相同的顺序(类似于 4、5、0、1、2、3、6、7、8、9 或所以)。我可以忍受我的工作,但如果有更好的方法可以解决这个问题,我宁愿不使用它。如果能对GAE有更深入的了解,那也是极好的。
看不到您如何显示输出。变量没有 "ordering"。返回一个确实有顺序的列表怎么样:
class BoardForm(messages.Message):
"""Used to show a board state"""
row_list = [messages.StringField(i) for i in range(1,11)]