zipmark / rspec_api_documentation

Automatically generate API documentation from RSpec
MIT License
1.45k stars 362 forks source link

Open api: URL query params detetion problem #407

Open SrMouraSilva opened 6 years ago

SrMouraSilva commented 6 years ago

In a url with query params, the script to parse (convert :param -> {param}) doesn't work properly. Example:

#rspec test file
get '/componentes-curriculares/:codigo/turmas?ano=:ano&periodo=:periodo&page[size]=:size&page[number]=:number' do
    route_summary "Obter turmas de um componente curricular"
    ...

documentation generated file

image

SrMouraSilva commented 6 years ago

Proposed solution

https://github.com/zipmark/rspec_api_documentation/blob/b65559c0af2ad50d2847d16966aab4a560a934b0/lib/rspec_api_documentation/writers/open_api_writer.rb#L240

to super.gsub(/:(?<parameter>[^\/|&]+)/, '{\k<parameter>}')

http://regexr.com/3vmkq