我用这样的瘦api创建了一条路线:
$app->put('/user/:one', function ($one) {
我知道我通过将它用作get来创建了错误,但我无法更改应用程序,因为它的实时性。 因此,我必须找到一种方法来改变它,以便当json编码变量包含斜杠时它可以工作。 当json变量中的一个字段包含斜杠时,路径认为正在声明另一个变量。 在这个URL中,密码包含一个斜杠,从而打破了我的路线:
http://someapi.nl/someappApi/api.php/user/%7B%22uuid%22:%2267b80bda2ab6f83d%22,%22username%22:%22bladude%22,%22screen_state%22:%22Aan%20het%20werk%22,%22name%22:%22bladude%22,%22last_name%22:%22asdf%22,%22email%22:%22someexample@live.nl%22,%22password%22:%22bie/rtje/%22%7D
有没有办法告诉slim api它应该看到整个url作为一个变量???还是逃避斜线?
答案 0 :(得分:0)
您可以使用通配符路由捕获整个查询字符串...
$ app-> put(' / user /:one +',function($ one){
答案 1 :(得分:0)
如果您使用的是SLIM 3
$app->get('/hello[/{params:.*}]', function ($request, $response, $args) {
$params = explode('/', $request->getAttribute('params'));
// $params is an array of all the optional segments
});
我在“ Slim 3 - Slash as a part of route parameter”处找到了该解决方案