gpt4 book ai didi

ruby-on-rails - 在调用操作之前检查 rails 中是否存在 header 属性

转载 作者:数据小太阳 更新时间:2023-10-29 07:52:16 26 4
gpt4 key购买 nike

我在 Rails 4 中构建 API。在调用操作之前,我首先尝试检查 http header 中是否存在属性。有没有办法做到这一点,而不是检查 Controller 的所有操作中的每一个。 rails 文档提到类似

constraints(lambda { |req| req.env["HTTP_CUSTOM_HEADER"] =~ /value/ }) do
#controller, action mapping
end

但我仍然想给使用我的 API 的用户一个反馈。类似于发送带有消息的 json:missing the custom attribute in the header

最佳答案

你可以在 Controller 中添加before_action并检查一个header属性,例如:

class SomeController < ApplicationController
before_action :render_message, unless: :check_header

def check_header
request.env["HTTP_CUSTOM_HEADER"] =~ /foo/
end

def render_message
render json: { message: "missing the custom attribute in the header" }
end
end

如果 check_attribute 过滤器返回 nil,则 render_message 操作呈现所需的消息。

关于ruby-on-rails - 在调用操作之前检查 rails 中是否存在 header 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32412840/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com