小编use*_*693的帖子

使用endpoints-proto-datastore,如何将属性传递给EndpointsModel中未包含的方法

我试图将属性传递给我的EndpointsModel中未包含的API调用.例如,假设我有以下型号:

class MyModel(EndpointsModel):
  attr1 = ndb.StringProperty()
Run Code Online (Sandbox Code Playgroud)

然后假设我想attr2作为参数传入,但我不想attr2用作过滤器,也不希望它存储在模型中.我只是想传入一些字符串,在方法内部检索它并使用它来执行一些业务逻辑.

该文档描述了query_fields用于指定要传递给方法的字段的参数,但这些参数似乎与模型中包含的属性相关联,因此您无法传递模型中未指定的属性.

同样,文档声明您可以通过路径变量传递属性:

@MyModel.method(request_fields=('id',),
                path='mymodel/{id}', name='mymodel.get'
                http_method='GET')
def MyModelGet(self, my_model):
  # do something with id
Run Code Online (Sandbox Code Playgroud)

但这需要您更改URL,此外它似乎具有与query_fields(该属性必须存在于模型中)相同的约束.

google-app-engine google-cloud-endpoints endpoints-proto-datastore

3
推荐指数
1
解决办法
850
查看次数