当 运行 rspec 对于 rswag 时,key 和 value 在参数中连接在一起,因为 key 和 value 变为 nil?

when running rspec for rswag, key and value join together in the parameters as key and value become nil?

    get 'customer' do
      security [Token: []]
      parameter name: :params, in: :body, schema: {
        type: :object,
        properties: {
          search: { type: :string, example: Faker::Name.first_name }
        }
      }
      let(:params) { { search: Faker::Name.first_name } }

通过考虑上面的代码,参数将是这样的:

<ActionController::Parameters {"{\"search\":\"test_name\"}"=>nil, "controller"=>"api/v1/admin/staffs", "action"=>"new", "staff"=>{}} permitted: false>

所以搜索和 faker:name.first_name 附加在参数中作为键,但我希望搜索成为键而 faker 成为值。

您正在根据获取请求使用正文参数。试试这个:

get 'customer' do
  security [Token: []]
  type: :object,
  parameter name: :search, in: :query, type: :string, example: Faker::Name.first_name
  let(:search) { Faker::Name.first_name }
.
.
.