Задать вопрос
@66demon666
Сетевой админ, АТС-админ

Yii2 RETSful API почему Method Not Allowed?

В документации к Yii2 вполне четко сказано -

GET /users: получение постранично списка всех пользователей;
HEAD /users: получение метаданных листинга пользователей;
POST /users: создание нового пользователя;
GET /users/123: получение информации по конкретному пользователю с id равным 123;
HEAD /users/123: получение метаданных по конкретному пользователю с id равным 123;
PATCH /users/123 и PUT /users/123: изменение информации по пользователю с id равным 123;
DELETE /users/123: удаление пользователя с id равным 123;
OPTIONS /users: получение поддерживаемых методов, по которым можно обратится к /users;
OPTIONS /users/123: получение поддерживаемых методов, по которым можно обратится к /users/123.


Хорошо, создал контроллер
<?php

namespace app\controllers;

use yii\rest\ActiveController;

/**
 * PostController implements the CRUD actions for Posts model.
 */
class PostController extends ActiveController
{
  public $modelClass = 'app\models\Posts';
}
?>


В результате post запроса на post получаю ответ, где сообщается что разрешены только GET и HEAD. Это как?
5d9e0fb0b0705378672537.png

На всякий случай вот листинг urlManager
'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'enableStrictParsing'=>true,
            'rules' => [
              'post'=>'post',
              'profile'=>'profile/index',
              'profile/verify/<hash:\w+>'=>'/auth/verify',
              'logout'=>'auth/logout',
              'register'=>'auth/register',
              ['class' => 'yii\rest\UrlRule', 'controller' => 'post'],
            ],
        ],


На post/create уходит нормально запрос, но суть RESTful API вообще в использовании HTTP глаголов, да и в документации написано же.
  • Вопрос задан
  • 754 просмотра
Подписаться 2 Простой Комментировать
Решения вопроса 1
@66demon666 Автор вопроса
Сетевой админ, АТС-админ
Помогло добавление параметра в urlManager
['class' => 'yii\rest\UrlRule', 'controller' => 'post', 'pluralize'=>false],
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
xEpozZ
@xEpozZ
Веб-разработчик
1. Гуглим ваш вопрос link
2. Получаем результат link
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы