将参数作为查询字符串或 url 的一部分传递?

潘思罗

例如,您应该将参数作为 URL 的一部分还是作为查询字符串传递给 GET 请求?

Route::get('/image/{id}', '[email protected]');

我们应该这样做:

  1. /image/10

  2. /image?id=10

蒂姆·刘易斯

应该采用哪种方法的问题我不会回答,因为这完全由您决定要采用哪种方法。

使用您当前的路由,只有一个提供的 URL 会命中get()您的ImageController.

/image/10 匹配您的路线,并将用作:

public function get($id){ 
  dd($id); // 10
}

/image?id=10与您的 URL 不匹配,并且由于缺少参数将是 404。路由需要修改为:

Route::get('/image', '[email protected]');

你的控制器方法需要是:

public function get(Request $request){ 
  $id = $request->input('id');
  dd($id); // 10
}

每种方法都有优点和缺点,查询字符串参数适用于多个必需和/或选项参数,而 URL 参数更适合单个必需/可选参数。不支持多个可选的 URL 参数,因此请记住这一点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从URL删除查询字符串作为PHP函数的一部分

ASP.NET MVC传递参数作为url的一部分

将URL的一部分变量传递给脚本吗?

URL中的问号是查询字符串的一部分吗?

.htaccess将URL最后一部分重定向到相同的URL查询字符串值?

Java:将字符串转换为在 url 中使用作为 get 的一部分

.htaccess URL的一部分是用户友好的,另一部分是查询

将%20作为url的一部分传递到Twitter Web Intent,但显示为''空白

如何将带引号的字符串作为 URL 输入的一部分正确传递给 httr:GET()?

如何在余烬应用程序中将api密钥作为url的一部分传递

仅回显URL(字符串)的一部分

快速访问URL路径时删除字符串的一部分

如何使用 Javascript 获取 URL 字符串的一部分?

消除php中url字符串的最后一部分

在jmeter JSON响应中提取一部分URL字符串

字符串将url替换为javascript中相同url的一部分

如何在AngularJS应用程序中解码URL的查询字符串的一部分?

参数作为url的一部分而不是问号之后

使用 Google Web App URL 参数作为功能的一部分

将参数传递给别名,该别名是字符串的一部分

Flask URL重定向参数是URL一部分的位置

如何从C#中的URL获取子字符串或字符串的一部分

将变量从一个功能文件传递到另一个功能文件中,作为空手道中请求URL(不是查询参数)的一部分

包含子目录作为Jekyll帖子URL的一部分

使用Mercurial路径作为URL的一部分

如何检查字符是否不是字符串中数字或 URL 的一部分?

如何仅修改URL中“查询”的一部分?

使用mod_rewrite隐藏URL的一部分,但保留参数

Imacros将一部分添加到URL