如何控制protoRPC响应中的HTTP状态码?
假设我有以下服务:
class ApiService(remote.Service):
@remote.method(ApiRequestContextCreate, ApiResponseContextCreate)
def context_create(self, request):
cid = helpers.create_context(request.name)
return ApiResponseContextCreate(cid=cid)在我看来,protoRPC API缺乏语义:要么请求可以满足并返回一个200,要么抛出一个异常,导致返回一个404。当然,可以在RPC方法中创建一个错误响应,但这看起来有点笨拙。
更新:我发现我也可以为400提高ApplicationError。
发布于 2012-11-27 08:55:54
HTTP状态码不是ProtoRPC规范的一部分,因为ProtoRPC除了支持HTTP之外,还支持其他协议。因此,它不能具有特定于HTTP的返回代码。相反,使用error_name字段指定特定于应用程序的错误条件,通过引发ApplicationError返回错误。
https://stackoverflow.com/questions/13575736
复制相似问题