如何从 swagger 发送 header 参数
How to send header parameters from swagger
用于测试 rails api 我正在使用 Swagger。
module Api
class UserController < ApplicationController
Swagger::Docs::Generator::set_real_methods
skip_before_filter :verify_authenticity_token
# start swagger actions
swagger_controller :users, "Users"
swagger_api :create do
summary "SignUp"
param :form, :first_name, :string, :optional, "First Name"
param :form, :last_name, :string, :optional, "Last Name"
param :form, :phone_no, :string, :required, "Phone Number"
param :form, :email, :string, :optional, "Email"
param :form, :password, :string, :required, "Password"
param :form, :password_confirmation, :string, :required, "Confirm Password"
end
我正在通过访问令牌使用身份验证。
但是如何从 swagger 发送 headers?
我们可以在 api 声明中为字段设置参数类型 header,然后该字段会在 swagger ui 上填充并在 header 中作为 header 发送打电话。
我在 Sinatra 中使用 swagger 块,所以语法可能有点不同,但这对我有用。
像这样使用key :in, :header
:
parameter do
key :name, 'X-APPLICATION-ID'
key :in, :header
key :description, 'client name'
key :required, false
key :type, :string
end
能否请您尝试添加以下内容并检查是否有效
param :header, 'Authentication-Token', :string, :required, 'Authentication token'
如果你觉得在所有控制器上添加这个很痛苦,你可以做类似
def setup_basic_api_documentation
[:controller1, :controller2, :controller3].each do |api_action|
swagger_api api_action do
param :header, 'Authentication-Token', :string, :required, 'Authentication token'
end
Rakesh 的回答是正确的。为了简化,在 swagger_api 块中使用它:
param :header, 'SessionToken', :string, :required, "SessionToken"
用于测试 rails api 我正在使用 Swagger。
module Api
class UserController < ApplicationController
Swagger::Docs::Generator::set_real_methods
skip_before_filter :verify_authenticity_token
# start swagger actions
swagger_controller :users, "Users"
swagger_api :create do
summary "SignUp"
param :form, :first_name, :string, :optional, "First Name"
param :form, :last_name, :string, :optional, "Last Name"
param :form, :phone_no, :string, :required, "Phone Number"
param :form, :email, :string, :optional, "Email"
param :form, :password, :string, :required, "Password"
param :form, :password_confirmation, :string, :required, "Confirm Password"
end
我正在通过访问令牌使用身份验证。 但是如何从 swagger 发送 headers?
我们可以在 api 声明中为字段设置参数类型 header,然后该字段会在 swagger ui 上填充并在 header 中作为 header 发送打电话。
我在 Sinatra 中使用 swagger 块,所以语法可能有点不同,但这对我有用。
像这样使用key :in, :header
:
parameter do
key :name, 'X-APPLICATION-ID'
key :in, :header
key :description, 'client name'
key :required, false
key :type, :string
end
能否请您尝试添加以下内容并检查是否有效
param :header, 'Authentication-Token', :string, :required, 'Authentication token'
如果你觉得在所有控制器上添加这个很痛苦,你可以做类似
def setup_basic_api_documentation
[:controller1, :controller2, :controller3].each do |api_action|
swagger_api api_action do
param :header, 'Authentication-Token', :string, :required, 'Authentication token'
end
Rakesh 的回答是正确的。为了简化,在 swagger_api 块中使用它:
param :header, 'SessionToken', :string, :required, "SessionToken"