相当于Python中的@Named API参数

Doc*_*ent 2 python rest google-app-engine google-cloud-endpoints

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

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

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

bos*_*ter 6

没有严格的等价物,但如果{id}在您的路径中,那么必须idprotorpc您用于方法中的请求类的消息类中调用一个字段.

例如:

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):
    ...
Run Code Online (Sandbox Code Playgroud)

  • 这个有效,谢谢!如果在文档中提到它会很好. (2认同)