Sha256: 082312c88f677fd6fd25b60e7ca24a388a673dbfc3060bc2d2f5284be7385b58
Contents?: true
Size: 1.92 KB
Versions: 2
Compression:
Stored size: 1.92 KB
Contents
class V2::GoodsDoc < BaseDoc SCHEMA_DRY = { a: 1, b: 2 } # skip: [ 'Token' ] do # you can also skip parameters api :index, 'GET list of goods.', use: [ 'Token', :page, :rows ] do # use parameters write in AutoGenDoc#api_dry desc 'listing goods', view!: 'search view, allows:<br/>', search_type!: 'search field, allows:<br/>' # Single `query` query :view, String, enum: { 'all goods (default)': :all, 'only online': :online, 'only offline': :offline, 'expensive goods': :expensive, 'cheap goods': :cheap, }, **SCHEMA_DRY # >>> Here is a little trick! <<< # Batch `query` do_query by: { :search_type => { type: String, enum: %w[ name creator category price ] }, :value => String, :export => { type: Boolean, desc: 'export as Excel format', examples: { :right_input => true, :wrong_input => 'wrong input' }} } end api :create, 'POST create a good', use: 'Token' do form! 'for creating a good', data: { :name! => { type: String, desc: 'good\'s name' }, :category_id! => { type: Integer, desc: 'sub_category\'s id', npmt: true, range: { ge: 1 }, as: :cate }, :price! => { type: Float, desc: 'good\'s price', range: { ge: 0 } }, # -- optional :is_online => { type: Boolean, desc: 'it\'s online?' }, :remarks => { type: String, desc: 'remarks' }, :pic_path => { type: String, desc: 'picture url', is: :url }, }, exp_by: %i[ name category_id price ], examples: { :right_input => [ 'good1', 6, 5.7 ], :wrong_input => [ 'good2', 0, -1 ] } end api :show, 'GET the specified Good.', use: [ 'Token', :id ] api :destroy, 'DELETE the specified Good.', use: [ 'Token', :id ] end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
zero-rails_openapi-1.4.2 | documentation/examples/goods_doc.rb |
zero-rails_openapi-1.4.1 | documentation/examples/goods_doc.rb |