前往顾页
以后地位: 主页 > 收集编程 > Jsp实例教程 >

Laravel-RestfulAPI 资本节制器根本教程

时候:2018-10-30 13:52来源:知行网www.zhixing123.cn 编辑:麦田守望者

RESTful是一种设想思惟、一种遍及接管的标准。我们的资本节制器,和RESTful有着莫年夜的联系,要了解资本节制器,必须先体味RESTful。

背景介绍

REST这个词,是Roy Thomas Fielding在他2000年的博士论文中提出的。

Fielding是一个非常首要的人,他是HTTP和谈(1.0版和1.1版)的首要设想者、Apache办事器软件的作者之一、Apache基金会的第一任主席。所以,他的这篇论文一经颁发,就引发了存眷,并且当即对互联网开辟产生了深远的影响。

Fielding将他对互联网软件的架构准绳,定名为REST,即Representational State Transfer的缩写。我对这个词组的翻译是"表示层状况转化"。

如果一个架构适合REST准绳,就称它为RESTful架构。

要了解RESTful架构,最好的体例就是去了解Representational State Transfer这个词组究竟是甚么意义,它的每个词代表了甚么涵义。如果你把这个称呼搞懂了,也就不难体味REST是一种甚么样的设想。

一、节制器天生

Laravel的资本节制器原生的支撑了RESTful架构。其实laravel的资本节制器和其他节制器没甚么直接辨别,只是对节制器类的体例和布局略有规定,不过我们其实不要手动建立资本节制器,我们可以操纵laravel的号令行东西——artisan

laravel框架根目次下,经由过程号令行输入号令

php artisan make:controller TestController  

重视:在laravel5.1顶用php artisan天生的节制器会有默许的体例indexcreateshowedit...等等;如果不是是利用Restful不需求默许的体例可以在laravel框架根目次下,经由过程号令行输入号令

php artisan make:controller TestController --plain  

laravel5.2今后天生节制器是默许没有indexcreateshowedit..等几个别例的,如果想天生默许的体例 可以在laravel框架根目次下,经由过程号令行输入号令

php artisan make:controller TestController --resource  

便可以建立一个名为TestController的资本节制器,文件默许在app/Http/Controllers下。我们翻开TestController.php,发明内里已写好了很多体例,比如index、create、show等等。别离是甚么意义?如安在路由定义才气拜候到?

我们如果要在路由里定义一个资本节制器只需求一条:

Route::resource('/test', 'TestController');  

下面介绍下RESTful的跳转法则:

请求URL: /test  
请求体例:GET  
默许进入节制器的体例:index()  
一般用于:页面揭示/列表揭示

请求URL: /test/create 
请求体例:GET  
默许进入节制器的体例:create()  
一般用于:增加/新建

请求URL: /test  
请求体例:POST  
默许进入节制器的体例:store()

请求URL: /test/{id}/edit  
请求体例:GET  
默许进入节制器的体例:edit($id)
一般用于:点窜页面

请求URL: /test/{id}  
请求体例:PUT  
PUT体例需求定义一个埋没表单  
<input type="hidden" name="_method" value="put"/>  
默许进入节制器的体例:update($id) 
一般用于:领受点窜的体例

请求URL: /test/{id}  
请求体例:GET  
默许进入节制器的体例:show($id)
一般用于:XX概况 

请求URL: /test/{id}  
请求体例:GET  
默许进入节制器的体例:destroy($id)
一般用于:删除

年夜概举两条解释。

我定义了个资本路由

Route::resource('/test', 'TestController');  

当我拜候地点http://www.blog8090.com/test,相当于拜候节制器TestControllerindex体例。

当我拜候地点http://www.blog8090.com/test/create,就会拜候到create体例。

当我经由过程POST提交数据至地点http://www.blog8090.com/test,相当于由store体例措置。

现在了解了吗?经由过程资本节制器,我们很容易实现一个适合RESTful架构的接口,这类很适合作为APP后端开辟时利用。这类标准下,不单拜候战略清楚易了解,更容易保护。也使你的架构更加公道和当代化。

简朴举例如果在路由中全数定义

Route::get('/test', 'TestController');  
Route::post('/test', 'TestController');  
Route::get('/testEdit', 'TestController@edit');  
Route::post('/testUp', 'TestController@up');  
Route::controller('/addTest','TestController');  

Restful写法(写一个路由可以包含很多种行动,当然有些特定体例不敷用的时候也得指定体例)会让痴肥的路由更加简略单纯

Route::resource('/test', 'TestController');  
Route::resource('/test_blog', 'TestController@blog');  

是不是是比较起来要幽雅的很多??

------分开线----------------------------
标签(Tag):laravel
------分开线----------------------------
保举内容
猜你感兴趣