返回GAE ProtoRPC的HTTP代码

2024-06-01 04:17:45 发布

您现在位置:Python中文网/ 问答频道 /正文

如何控制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。在


Tags: 代码httpremoterequest状态defcreateservice
1条回答
网友
1楼 · 发布于 2024-06-01 04:17:45

HTTP状态代码不是ProtoRPC规范的一部分,因为ProtoRPC旨在支持HTTP之外的协议。因此,它不能有特定于HTTP的返回代码。相反,通过引发ApplicationError返回错误,并使用error_name字段指定特定于应用程序的错误条件。在

相关问题 更多 >