Comments (6)
Perhaps you can do something like this?
class Api::BaseController < ActionController::Base
class << self
Swagger::Docs::Generator::set_real_methods
def inherited(subclass)
super
subclass.class_eval do
setup_basic_api_documentation
end
end
private
def setup_basic_api_documentation
[:index, :show, :create, :update, :delete].each do |api_action|
swagger_api api_action do
param :header, 'Authentication-Token', :string, :required, 'Authentication token'
end
end
end
end
end
Then have all your API controllers subclass Api::BaseController
. Also, keep in mind you must use the latest version of swagger-docs (v0.1.4 as of today).
from swagger-docs.
ldnunes FTW 💥
from swagger-docs.
@ldnunes Have added this to the README - thanks.
from swagger-docs.
Damn. I missed the notification from @ldnunes great response, Thanks! It seems a great base to me.
I'll extract the actions lists into a private method so I can customize for any controller that have other actions that usual REST ones.
from swagger-docs.
Just sent a pull request with this trick, it's on #50.
from swagger-docs.
I can't make this work for me. :(
using rails 3.2.17
class ApiController < ApplicationController
class << self
Swagger::Docs::Generator::set_real_methods
def inherited(subclass)
super
subclass.class_eval do
setup_basic_api_documentation
end
end
private
def setup_basic_api_documentation
[:index].each do |api_action|
swagger_api api_action do
param :header, 'Authentication-Token', :string, :required, 'Authentication token'
end
end
end
end
end
class V0::PatientFilesController < ApiController
swagger_controller :patient_files_controller, "PAtient files controller"
swagger_api :index do
param :query, 'q[full_name_cont]', :string, :optional, 'Q Params'
param :query, 'q[birth_date]', :string, :optional, 'Q Params'
response :unauthorized
response :ok
end
def index
...
end
end
In the docs I have only the query parameters... full name and birthdate.
If I remove the param's list from the controller itself, I then see the header... what I am missing here. :/
from swagger-docs.
Related Issues (20)
- How Can i User Swagger docs for devise sessions controller HOT 4
- "status":404,"error":"Not Found"
- Need a good example for a json body with multiple parameters HOT 2
- undefined swagger_controller HOT 1
- 1.0: 0 processed / 1 skipped HOT 8
- rake:swagger
- param :path, not showing up. HOT 1
- rails-api 1.0: 1 processed / 4 skipped issue HOT 1
- Do not depend on "rails" gem, depend on parts of Rails that swagger-docs uses HOT 1
- Swagger/OpenAPI 3.0 HOT 2
- Dependency to the full rails gem
- Use of swagger-docs for versioning in header
- uninitialized constant Swagger HOT 2
- Custom Tags in Rails
- Raise error when wrong controller action is provide in <model name>_doc file
- Param as type "array" in swagger_api HOT 3
- NameError (undefined local variable or method `current_user')
- Do file uploads work? HOT 1
- Unable to render this definition
- Configurations with rails 6 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from swagger-docs.