instead of
desc 'some endpoint', {
headers: { Authorization: {
description: 'Bearer JWT',
required: true
}
}}
get do
end
on every endpoint, we can share one extender like this
module API::DescHeaderAuth
def self.included(base)
base.class_eval do
def self.desc_header_auth required: true
return unless setting = inheritable_setting.route
return unless desc = setting[:description]
desc[:headers] = {
Authorization: {
description: 'Bearer <JWT>',
required: required
}
}
end
end
end
end
Grape::API::Instance.include API::DescHeaderAuth
# your api
require_relative './extends/desc_header_auth'
# your endpoints
desc 'some endpoint'
desc_header_auth
get do
end