Добрый день!
Помогите, пожалуйста разобраться с REST API.
Создал API согласно этой инструкции:
http://www.yiiframework.com/doc-2.0/gui ... start.html
Возник первый вопрос:
/user
/users
Работают и выводят список пользователей
/user/1 - не работает
/users/1 - работает ?
Почему так?
Вопрос второй создал ещё контроллер TaskController, аналогичным с UserController образом
/task - работает
/tasks - работает
выводит полный список
/task/1 - не работает
/tasks/1- не работает
Хотя таблица User и Task имеют ключевое поле id.
NewController для REST API
Re: NewController для REST API
Включите 'enableStrictParsing' => true и будет только один вариант рабочий.
Re: NewController для REST API
Попробовал включить, но после этого вообще перестали грузится страницы (ошибка Not Found (#404)),
настройки urlManager следующие, Yii2 basic:
настройки urlManager следующие, Yii2 basic:
Код: Выделить всё
urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'baseUrl' => '/',
'rules' => [
['class' => 'yii\rest\UrlRule', 'controller' => 'user'],
['class' => 'yii\rest\UrlRule', 'controller' => 'task'],
],
],
Re: NewController для REST API
Собственно, всё получилось:
Исправил в конфигурации следующее:
В модель Task добавил:
Как думаете ошибка была из-за того, что метод primaryKey() не был переопределён?
А почему с таблицей User всё было нормально?
Исправил в конфигурации следующее:
Код: Выделить всё
['class' => 'yii\rest\UrlRule', 'controller' => 'task', 'tokens' => [
'{id}' => '<id:\\w+>'
]],
Код: Выделить всё
public static function primaryKey()
{
return ['id'];
}
А почему с таблицей User всё было нормально?