如何控制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)
在我看来,protorpcapi缺少语义:要么请求得到满足并返回一个200
,要么引发一个产生404
的异常。当然,可以在RPC方法中创建一个错误响应,但这看起来很愚蠢。在
更新:我发现我也可以为一个400
筹集ApplicationError
。在
HTTP状态代码不是ProtoRPC规范的一部分,因为ProtoRPC旨在支持HTTP之外的协议。因此,它不能有特定于HTTP的返回代码。相反,通过引发ApplicationError返回错误,并使用error_name字段指定特定于应用程序的错误条件。在
相关问题 更多 >
编程相关推荐