J'ai une exigence où l'utilisateur peut passer url dans ce format:raisin avec la route dynamique
http:site.com/[action]/[subject]?[option]=[value]
par exemple tous les ci-dessous sont urls valides:
http://example.com/trigger/a/b/c
http://example.com/trigger/a
http://example.com/trigger/a/b?something=value
http://example.com/trigger/any/thing/goes/here
J'ai un grape
ressource comme ceci:
class Test < Grape::API
params do
optional :option, type: String
end
get '/trigger/:a/:b/:c' do
{
type: 'trigger',
a: params[:a],
b: params[:b],
c: params[:c],
option: params[:option]
}
end
end
Ainsi, si je visite http://example.com/1/2/3/option=something
alors je vais me
{
"type": "trigger",
"a": "1",
"b": "2",
"c": "3",
"option": "something"
}
Comportement attendu:
utilisation devrait être en mesure de fournir quoi que ce soit après /trigger/
http://example.com/any/thing/goes/here/1/2/3?other=value&goes=here
Mise à jour:
J'ai trouvé cette solution (How do we identify parameters in a dynamic URL?) pour les rails de route, je veux ce comportement dans grape
.
grâce