GET和POST是HTTP中常用的两种请求,另外还有PUT、DELETE。
这里讲述下在开发PHP项目时定义路由中GET和POST的区别。
1,在HTTP规范中,GET只用于获取信息,并不会系统的资源,如果请求不需要修改数据库中的内容,就可以使用这种方法。这种操作是安全的和幂等的(请求多次结果不变)。
在参数传递上
(1)get方法发送请求
a).路由中有带参数:
$api->get('staff/{id}', ['as' => 'staff.show', 'uses' => 'App\Http\Controllers\StaffController@show']);
curl http:/api.shamiapp.com/api/staff/1 来传递参数,其中id是路由处理中所需要的参数。
b).路由中没有参数:
$api->get('staff', ['as' => 'staff.show', 'uses' => 'App\Http\Controllers\StaffController@show']);
curl "http://api.shamiapp.com/api/staff?id=1&vid=2" 来传递参数,其中id和vid是路由处理中需要的参数,多个参数需要加引号。在控制器 取得参数的方法只能是Input类方法。
2,而POST则是要修改服务器资源的一种请求,如果需要修改数据库内容,则使用POST方法。
在参数传递上:
(1)post方法发送请求
$api->post('staff', ['as' => 'staff.show', 'uses' => 'App\Http\Controllers\StaffController@show']);
POST把提交的数据则放置在是HTTP包的包体中。我们在控制器中处理时用repuest(使用laravel框架)方法来取得。