php – Rest Api模式解释?

我是新来的休息api.

我想知道rest api的路由是如何工作的.我有一个api工作在一个路由,而不是在另一个..我需要做什么确切的修改,以便将每个api调用绑定到特定的VERB.

例如我希望/ customer / view只能通过GET动词调用,put和post应该不能进行此调用,这是否可以与路由设置有关

这是我的路线..

有效的方法如下:

'<controller:\w+>'                   => '<controller>/list',
'<controller:\w+>/<action:\w+>'      => '<controller>/<action>',
'<controller:\w+>/<id:\d+>/<title>'  => '<controller>/view',
'<controller:\w+>/<id:\d+>'          => '<controller>/view',

一个不起作用的是这个..特别是这样调用的视图,基本上我可以从任何VERB调用它,如何绑定到特定的动词

https://myipaddress/wiz-frontend-himanshu/customer/view/?id=test

休息路线

array('customer/list', 'pattern'=>'customer/<model:\w+>', 'verb'=>'GET'),
array('customer/view', 'pattern'=>'customer/<model:\w+>/<id:\w+>', 'verb'=>'GET'),
array('customer/update', 'pattern'=>'customer/<model:\w+>/<id:\d+>', 'verb'=>'PUT'),
array('customer/delete', 'pattern'=>'customer/<model:\w+>/<id:\d+>', 'verb'=>'DELETE'),
array('customer/create', 'pattern'=>'customer/<model:\w+>/<id:\d+>', 'verb'=>'POST'),

任何人都可以解释,这个模式究竟做了什么,以及我需要做些什么更改才能运行我的查看调用

解决方法:

也许我误解了,但我想你需要做以下事情:

将您的api控制器放在单独的模块中(以api命名)并在您的URL管理器中指定以下规则:

// GET
array('api/<controller>/list', 'pattern'=>'api/<controller:\w+>', 'verb'=>'GET'),
array('api/<controller>/view', 'pattern'=>'api/<controller:\w+>/<id:\d+>', 'verb'=>'GET'),
// POST
array('api/<controller>/create', 'pattern'=>'api/<controller:\w+>', 'verb'=>'POST'),
// PUT
array('api/<controller>/update', 'pattern'=>'api/<controller:\w+>/<id:\d+>', 'verb'=>'PUT'),
array('api/<controller>/update', 'pattern'=>'api/<controller:\w+>', 'verb'=>'PUT'),
// DELETE
array('api/<controller>/delete', 'pattern'=>'api/<controller:\w+>/<id:\d+>', 'verb'=>'DELETE'),
array('api/<controller>/delete', 'pattern'=>'api/<controller:\w+>', 'verb'=>'DELETE'),

所以你可以通过这个网址给你的api打电话:

GET: /api/users – list of users (actionList() in users controller)

GET: /api/users/12 – user with id = 12 (actionView() in users
controller)

POST: /api/user – create new user (actionCreate() in users controller)

PUT: /api/user/12 – update user with id = 12 (actionUpdate() in users
controller)

DELETE: /api/user/12 – delete user with id = 12 (actionDelete() in users
controller)

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...