我正在构建我的用户服务,并试图将其与API分离。当用户服务遇到错误时,它会按以下格式设置服务的错误属性:
{
'message': '<user friendly error message>',
'code': '<http code>'
}
但是,我根本不想在服务中引用falcon,因此实际上看起来是这样的:
self.error = {
'message': 'Duplicate Email',
'code': 409
}
return False
现在,一旦返回到API,我需要将其转换为falcon.HTTP_XXX对象,这样做的最佳方式是在路由中创建一个字典,以数字作为键,以falcon对象作为引用?例如:
responses = {
409: falcon.HTTP_409
400: falcon.HTTP_400
}
然后从用户服务获取返回值,然后解析对象是否将错误num作为索引传递? 比如:
user = self.user_service.get_user()
if not user:
resp.status = responses[self.user_service.error.code]
return
实际上我自己找到了解决办法
Falcon提供了一个从整数解析状态的实用程序,而不是将响应存储在字典中
https://falcon.readthedocs.io/en/stable/_modules/falcon/util/misc.html#get_http_status
相关问题 更多 >
编程相关推荐