我将Swagger格式直接放在我的Ruby API源代码中,并使用Source2Swagger创建文档:
# ~ a = my_api.apis.add
# ~ a.set :path => "/my_api/{application_key}"
# ~ op = a.operations.add
# ~ op.set :httpMethod => "GET", :nickname => "getmyapi"
# ~ op.summary = "Get stuff from My API"
# ~ op.parameters.add :name => "application_key", :description => "User authentication token", :dataType => "string", :allowMultiple => false, :required => false, :paramType => "path", :defaultValue => "1234567890"
# ~ op.responseMessages.add :message => "No stuff found", :code => 204
# ~ op.responseMessages.add :message => "API down", :code => 500
#
get '/my_api/?:application_key?', :provides => :json do
Do stuff...
end
" application_key"不是必需的,但用户需要在API上线时知道该选项。如上所示,我被要求提供内部使用的默认值(请不要问为什么:-))但是我仍然希望在显示文档时隐藏参数的默认值。这可能吗?
答案 0 :(得分:0)
你无法在不破坏用户界面的情况下做到这一点。您需要找到该特定操作和该特定参数并覆盖其行为。
如果你仔细想想,你所提出的问题并没有多大意义。您之所以要求您以某种方式记录某些内容,但在显示文档时,您希望以不同方式显示它。
当然还有其他可能的解决方案,例如代理您的文档并在代理处更改它,但这可能比它的价值更多。