You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It seems that path parameters (ones that have property "in: path") are passed to handler function as is.
This causes a problem since handler should now process values these parameters differently depending on how they are passed to API.
So parameters that are passed via path should be url-decoded before passing them to handler.
Example:
With API declared as
I agree that it would be a useful change. How about making the behavior configurable? Then people who are aware of the issue could enable the "right" behavior while existing projects still get the old logic by default.
There are other cleanups (e.g. excluding non-core functionality and stricter validations) that could also be made. So I would vote for some new major incompatible version.
It seems that path parameters (ones that have property "in: path") are passed to handler function as is.
This causes a problem since handler should now process values these parameters differently depending on how they are passed to API.
So parameters that are passed via path should be url-decoded before passing them to handler.
Example:
With API declared as
and actual call
curl "localhost:8080/somepath/abc%3D%3D"
the handler function should get parameter map
{:parameter_name "abc=="}
Used swagger1st implementation passes instead parameter map as
{:parameter_name "abc%3D%3D"}
Version used 0.22.0-beta2
I admit that this is backwards-incompatible change but the right one.
The text was updated successfully, but these errors were encountered: