Google Cloud Endpoints添加额外参数

时间:2014-03-29 16:01:29

标签: google-cloud-endpoints app-engine-ndb

我正在使用' endpoints-proto-datastore'库和在如何为我的请求添加额外参数方面有点迷失。

基本上我想添加这些字段[ID,token],ID是必需的。 Blossom.io正在做类似的事情,Blossom.io Api

这是我的Post方法

@Doctor.method(path='doctor', http_method='POST', name='doctor.insert')
   def DoctorInsert(self, doctor):

@Edit

没有Proto-Datastore库:

request = endpoints.ResourceContainer(
    message_types.VoidMessage,
    id=messages.IntegerField(1,variant=messages.Variant.INT32),
    token=messages.IntegerField(2, variant=messages.Variant.INT32)
)

@endpoints.method(request, response,
                  path='doctor/{id}', http_method='POST',
                  name='doctor.insert')

如何使用proto-datastore库进行相同的操作?

1 个答案:

答案 0 :(得分:1)

我这样做的方法是将另一个属性添加到用@EndpointsAliasProperty和setter装饰的模型中。我不会将其称为ID,因为它可能会与App Engine内置ID混淆。

    class Doctor(EndpointsModel):
    ...
    @EndpointsAliasProperty(
        setter=set_doctorid, property_type=messages.StringField
    )
    def doctorid(self):
        #Logic to retrieve the ID
        return doctorid

    def set_doctorid(self, value):
        #The ID will be in the value, assign and store it in your model
相关问题