Rest 404

Всё что касается построения API
Ответить
Brainfuck
Сообщения: 313
Зарегистрирован: 2018.02.19, 14:20

Rest 404

Сообщение Brainfuck »

Подскажите почему когда я использую yii\rest\ActiveController и например в методе delete передаю неверный id он возвращает мне json типа такого:

Код: Выделить всё

{
    "name": "Not Found",
    "message": "Object not found: 123",
    "code": 0,
    "status": 404,
    "type": "yii\\web\\NotFoundHttpException"
}
Но когда я в этом же контроллере пытаюсь сделать свой метод и там кинуть 404, например так:

Код: Выделить всё

class ArticleController extends ActiveController {
    public $modelClass = Article::class;

    public function actionPing() {
        throw new NotFoundHttpException('test');
    }
}
То мне возвращает обычную html-страницу ошибки. Как мне добиться того же эффекта как в стандартном действии?
Brainfuck
Сообщения: 313
Зарегистрирован: 2018.02.19, 14:20

Re: Rest 404

Сообщение Brainfuck »

Ага, кажется я понял, хотя не совсем... Оказывается если стандартные действия доступны по ссылкам типа /articles/create и /articles/delete, то мои действия уже доступны по ссылкам без окончания s, например /article/ping. Почему так?

И еще я давно пытаюсь понять по какой логике в Yii работают ограничения на http-метод запроса? GET, POST, DELETE? Потому что я знаю как минимум 3 способа указать это: в правилах urlmanager, в методе контроллера verbs и в поведении AccessControl. Какой правильнее использовать и какой приоритет между ними когда указано и там и там?
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Rest 404

Сообщение SiZE »

покури yii2 Response::$format
Brainfuck
Сообщения: 313
Зарегистрирован: 2018.02.19, 14:20

Re: Rest 404

Сообщение Brainfuck »

SiZE писал(а): 2018.08.06, 12:33 покури yii2 Response::$format
Я знаю об этом. Причина была в другом. Первый вопрос уже неактуален, но я написал новые.
Ответить