Обновление содержимого класса Endpoints с использованием endpoints-proto-datastore
У меня есть класс, который наследует от EndpointsModel
class User( EndpointsModel ):
name = ndb.StructuredProperty( Name, required=True )
dateOfBirth = ndb.DateProperty(required=True)
userName = ndb.StringProperty( required=True )
emailId = ndb.StringProperty( required=True )
Теперь предположим, что я хочу обновить имя для некоторого пользователя с некоторым именем пользователя. Поскольку методы для User ожидают объект User в качестве входных и выходных данных, нужно ли мне создавать отдельный класс сообщений для имени, а затем использовать его для обновления имени, как если бы я не использовал endpoints-proto-datastore?
1 ответ
Решение
Вы можете определить request_fields
в вашем методе API, чтобы ограничить "сообщение запроса" подмножеством полей в User
@User.method(path='/user/{id}',
http_method='PUT',
name='update',
request_fields=('id', 'name'))
def update_user(self, user):
...