grape-swagger-rails icon indicating copy to clipboard operation
grape-swagger-rails copied to clipboard

Array of object is not built properly

Open bekicot opened this issue 6 years ago • 0 comments

I have this definition in my API

params do
requires :daycare_attributes, type: Hash do
  requires :departments_attributes, type: Array do
    requires :name
  end
end

The UI shows image

Which is fine. But when I try it, it doesn't build the array properly. In the curl, it built something like

curl -X POST --header 'Content-Type: application/x-www-form-urlencoded' --header 'Accept: application/json' -d \
'daycare_attributes[departments_attributes]%5Bname%5D=Math&daycare_attributes[departments_attributes]%5Bname%5D=Phsyics' \
'http://localhost:3000/api/'

To pass the grape parameter validation. It must be

curl -X POST --header 'Content-Type: application/x-www-form-urlencoded' --header 'Accept: application/json' -d \
'daycare_attributes[departments_attributes][][name]=Math&daycare_attributes[departments_attributes][][name]=Phsyics'\
 'http://localhost:3000/api/'

Both curl and UI xhr failed to pass the validation.

bekicot avatar Dec 21 '18 15:12 bekicot