我有一个 Rails 6 项目,并尝试使用 swagger 和 rswag gem 记录 API。
我的控制器 rspec 规范如下:
require 'swagger_helper'
RSpec.describe 'api/v1/books', type: :request do
let!(:book1) { create :book }
let!(:book2) { create :book }
let!( :account) { create :account }
let!(:access_token) { Auth::JsonWebToken.encode(account_id: account.id) }
let!(:Authorization) { access_token.to_s }
path '/api/v1/books' do
get('list books') do
parameter name: :Authorization, in: :header, type: :string
produces 'application/json'
response(200, 'successful') do
after do |example|
example.metadata[:response][:content] = {
'application/json' => {
example: JSON.parse(response.body, symbolize_names: true)
}
}
end
run_test! …Run Code Online (Sandbox Code Playgroud)