我的API如下所示。如果在params中调用API只有一个值(这是一个重复的字段),那么一切都按预期工作。但是如果params拥有多个值,那么我会得到错误:找不到路径的端点。
1 INPUT = endpoints.ResourceContainer(
2 params = messages.IntegerField(1, repeated = True, variant = messages.Variant.INT32))
3
4 @endpoints.method(INPUT,
5 response_type.CustomResponse,
6 path = 'foo/{params}',
7 http_method = 'POST',
8 name = 'foo')
9 def foo(self, request):
10 #foo body is irrelevent
11 return response
我该如何解决这个问题。类似于:path ='foo / {params []}',?
感谢您的帮助
答案 0 :(得分:1)
如果'params'被期望作为查询字符串的一部分而不是路径,您可以从路径中省略它,例如:
path = 'foo'
或
path = 'myApi/foo'
example given in the docs使用ResourceContainer作为单个非重复路径参数。鉴于重复属性的性质,它看起来不像您可以将它们用作路径参数,只能查询字符串参数。查询字符串中的重复字段看起来像这样(很容易处理):
POST http://app.appspot.com/_ah/api/myApi/v1/foo?param=bar¶m=baz ...
但是路径参数中的重复字段看起来像这样(不是那么多):
POST http://app.appspot.com/_ah/api/myApi/v1/foo/bar/baz....