【问题标题】:Using postman to test how the Laravel will return the data使用 postman 测试 Laravel 将如何返回数据
【发布时间】:2016-01-29 09:08:52
【问题描述】:

我正在使用邮递员来测试我的 laravel get 和 post 方法。 我在Route.phpRoute::get('userdata/{email}/{pw}','AndroidAppController@getUser');创建了一条路线

我可以从控制器获取数据,我的 getUser 函数:

         public function getUser(){
         return 'asdasdas';
}

但我的网址无法返回:
http://localhost:81/project/userdata?email=xxx@xxxx.com&pw=xxxxxxx 因此我不能使用邮递员来测试数据是如何返回的,因为我要用它作为我的安卓登录功能。邮递员不停地给我返回未找到的对象,并且无法设置参数,因为 url 不是那样的。函数网址是 http:localhost:81/project/userdata/xxx@xxxx.com/xxxxxx
知道如何将 url 更改为邮递员支持表单吗?

【问题讨论】:

  • 您可以注意到您可以将访问您的URL(URL左侧)的方法更改为POST
  • 所以我改成post就好了吗?
  • 将密码放在查询字符串中是一个非常糟糕的想法
  • 是的,但是我要做一个测试。Route::post('userdata/{email}','AndroidAppController@auth'); 在邮递员之后,我只需要将参数传递给它吗?

标签: php laravel post get


【解决方案1】:

您的应用程序不支持GET 参数。您可以添加另一个路由来处理应用程序中的获取参数:

Route::get('userdata','AndroidAppController@getUserQueryString')

其中getUserQueryStringGET参数传递给getUser

或者在.htaccess中使用mod_rewrite

RewriteCond %{QUERY_STRING} ^email=(.*)&pw=(.*)$
RewriteRule ^/project/userdata$  /project/userdata/%1/%2 [L,R=301]

第一种更好,第二种更快。

【讨论】:

  • 好的,我尝试了一个是 dingo,这是开放 API 的更好选择吗?并执行 CRUD 功能?
  • 它非常基于意见,并且取决于您的 API 在做什么。对于 RESTish,经验法则是 url 定义资源,查询字符串定义可选参数。值得一读martinfowler.com/articles/richardsonMaturityModel.html
猜你喜欢
  • 1970-01-01
  • 2019-09-20
  • 1970-01-01
  • 2021-11-19
  • 1970-01-01
  • 2020-12-09
  • 2016-06-01
  • 2019-05-24
  • 1970-01-01
相关资源
最近更新 更多