相当于Python中的@Named API参数

时间:2013-03-17 21:36:33

标签: python google-app-engine rest google-cloud-endpoints

有没有办法在Python中使用命名方法参数 - 对应于这个Java示例:

@ApiMethod(
    name = "foos.remove",
    path = "foos/{id}",
    httpMethod = HttpMethod.DELETE,
)
public void removeFoo(@Named("id") String id) {
}

在我的Python版本中,如果我将@endpoints.method路径设置为foos/{id},则URL会正确匹配,但如何访问参数?

1 个答案:

答案 0 :(得分:6)

没有严格的等效,但如果您的路径中有{id},那么您在id消息类中必须有一个名为protorpc的字段,用于请求类中的from google.appengine.ext import endpoints from protorpc import messages from protorpc import remote class MyMessageClass(messages.Message): id = messages.StringField(1) # Or any other field type @endpoints.api(...) class MyApi(remote.Service): @endpoints.method(MyMessageClass, SomeResponseClass, ..., path='foos/{id}') def my_method(self, request): ... 方法

例如:

{{1}}