Замечание о контроле точки в конечной точке Cloud для меня кажется простым. Если у меня есть класс ответное сообщениеОконечная точка Google для облаков RequestMessage с несколькими разрешениями полей
class FoodieResponseMessage(messages.Message):
name = messages.StringField(1)
fav_food = messages.StringField(2)
city = messages.StringField(3)
вызова это так просто, как
FoodieResponseMessage(name="A", fav_food="B", city="C")
Но что из RequestMessage
с несколькими полями? Все, что я получаю от метода конечной точки службы, - это объект request
. Откуда я знаю, в каком поле?
class FoodieRequestMessage(messages.Message):
name = messages.StringField(1)
id = messages.StringField(2)
sitting_table = messages.StringField(3)
@endpoints.method(FoodieRequestMessage, FoodieResponseMessage)
def process(self, request):
name = request.name
id = request.id
table = request.sitting_table
Как запрос соответствовать полю, так что я не в конечном итоге получаю пользователя sitting_table
когда я request.name
?
Так мой класс 'FoodieRequestMessage' хорошим так оно и есть? Я видел, как люди использовали такие вещи, как 'messages.EnumField'. Я подумал, что нужно было как-то сказать «endpoints» api, где queryparameter/pathparameter установить, скажем, 'sit_table'. –
Это нормально, как есть. Вы можете использовать 'EnumField', если у вас есть использование для перечислений, но это не меняет порядок обработки полей. – bossylobster