Google自己的REST API会在出现错误时返回详细响应,例如:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "invalidBookshelfId",
"message": "Invalid bookshelf ID."
}
],
"code": 400,
"message": "Invalid bookshelf ID."
}
}
Run Code Online (Sandbox Code Playgroud)
在Google Cloud Endpoints for Python中,有可能是例如raise endpoints.BadRequestException('Error message'),但除了错误消息之外,我还想返回"代码"或"原因",如上例所示.有没有办法实现这个目标?
我试图在线程安全模式和GAE 1.6.0预发布SDK中使用新的Python 2.7运行时使用Jinja2运行Pyramid.我做了修改,以我的应用程序所概括这里,也就是我给自己定runtime: python27,threadsafe: true在app.yaml与排除main()功能.当我自己生成响应时,它工作正常,但是当我尝试将jinja2引入等式时,我得到以下异常:
ERROR 2011-11-07 00:10:34,356 wsgi.py:170]
Traceback (most recent call last):
File "/gae/google/appengine/runtime/wsgi.py", line 168, in Handle
[...]
File "/myapp/source/myapp-tip/main.py", line 29, in <module>
config.include('pyramid_jinja2')
File "/myapp/source/myapp-tip/lib/dist/pyramid/config/__init__.py", line 616, in include
c(configurator)
File "lib/dist/pyramid_jinja2/__init__.py", line 390, in includeme
_get_or_build_default_environment(config.registry)
File "/lib/dist/pyramid_jinja2/__init__.py", line 217, in _get_or_build_default_environment
_setup_environment(registry)
File "/lib/dist/pyramid_jinja2/__init__.py", line 253, in _setup_environment
package = _caller_package(('pyramid_jinja2', 'jinja2', 'pyramid.config'))
File "/lib/dist/pyramid_jinja2/__init__.py", line 136, in caller_package
for t in self.inspect.stack(): …Run Code Online (Sandbox Code Playgroud) 有没有办法在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}正确匹配,但如何访问参数?