ruby 在工作进程调用的服务类中引发错误请求

w6lpcovy  于 2023-03-08  发布在  Ruby
关注(0)|答案(2)|浏览(105)

我有一个服务和一个工作者。从那个工作者调用服务。在服务中,如果缺少一些参数,就会有400个错误请求。我需要在服务类中引发它,但这会引发错误。

if response.success?
  log_messaging(200, response.status)
else
  raise :status => :bad_request
end

不管我怎么提高它,我得到的是这样的:

TypeError: exception class/object expected
from (pry):2:in `raise'
carvr3hs

carvr3hs1#

如果需要引发错误,则需要向raise方法传递字符串或异常
参见文档:
https://docs.ruby-lang.org/en/master/Kernel.html#method-i-raise
但你传递的是哈希
例如

raise "Something went wrong"

raise ArgumentError, "Something went wrong"

raise ArgumentError.new("Something went wrong")
5t7ly7z5

5t7ly7z52#

你不引发一个错误请求异常,但是需要呈现错误请求状态代码(422状态代码)。

render json: { errors: [] }, status: :unprocessable_entity

相关问题