我正在尝试通过官方示例在 yii 中实现 REST api,现在我得到了很多错误而不是响应http://www.taxitaxi.kz/dispatcher/index.php/api/drivers。
有人可以澄清我的问题吗?
我正在尝试通过官方示例在 yii 中实现 REST api,现在我得到了很多错误而不是响应http://www.taxitaxi.kz/dispatcher/index.php/api/drivers。
有人可以澄清我的问题吗?
通过扩展使用 yii 的 RESTapi 实际上非常简单。然而,要让它工作,需要做的事情很少,因为它也在扩展的文档中正确说明。
您可能错过的一些重要细节可能是:
将 restfullyii 放入您的 protected/extensions 目录并确保对其具有完全的读写访问权限。很多时候,由于服务器权限,我的扩展程序无法正常工作。
确保您已正确更改UrlManager中的路由 。可能是这样的:
'api/<controller:\w+>'=>array('<controller>/restList', 'verb'=>'GET'),
'api/<controller:\w+>/<id:\w+>'=>array('<controller>/restView', 'verb'=>'GET'),
'api/<controller:\w+>/<id:\w+>/<var:\w+>'=>array('<controller>/restView','verb'=>'GET'),
array('<controller>/restUpdate', 'pattern'=>'api/<controller:\w+>/<id:\d+>', 'verb'=>'PUT'),
array('<controller>/restDelete', 'pattern'=>'api/<controller:\w+>/<id:\d+>', 'verb'=>'DELETE'),
array('<controller>/restCreate', 'pattern'=>'api/<controller:\w+>', 'verb'=>'POST'),
array('<controller>/restCreate', 'pattern'=>'api/<controller:\w+>/<id:\w+>', 'verb'=>'POST'),
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
您必须通过将其更改为 ERestController来扩展您希望 api 工作的控制器类。这真的很重要!
例子 :
class PostController extends ERestController{ }
您的过滤器和访问规则需要通过在它们之前附加“_”来更改。
前任。将 accessRules 更改为 _accessRules()
此外,如果您查看 RestController 的代码,您会看到用户名和密码基本上取自 Yii::params 的参数,因此您可以在 main.php 配置文件中更改它们,或者您可以更改身份验证方法来反映你的。
希望这可以解决您的问题,如果它没有说明显示错误的位置。
问候,