路由如下所示,我可以确认请求是否正在路由,但是,当我希望模型参数是具有更新属性的模型时,模型参数是当前保存的模型。
@Page.method(request_fields=('id',),
path='page/{id}', http_method='PUT', name='page.udpate')
def PageUpdate(self, model):
if not model.from_datastore:
raise endpoints.NotFoundException('MyModel not found.')
model.put()
return model
答案 0 :(得分:0)
request_fields
字段指定请求中包含的内容,因此您需要包含更多内容。 _message_fields_schema
属性(在simple_get
示例中讨论)最好使用。
class Page(EndpointsModel):
_message_fields_schema = ('id', ... other properties)
然后只使用默认值:
@Page.method(path='page/{id}', http_method='PUT', name='page.update')
def PageUpdate(self, page):
if not page.from_datastore:
raise endpoints.NotFoundException('Page not found.')
page.put()
return page
注意:我还更改了'page.udpate'
的拼写和错误消息中的文本。