@trieste

Как настроить маршрутизацию Yii2 restApi?

Как правильно настроить стандартную маршрутизацию для использования своих методов
'urlManager' => [
                        'enablePrettyUrl' => true,
                        'showScriptName' => false,
                        'rules' => [
                                    [
                                        'class' => 'yii\rest\UrlRule',
                                        'pluralize' => false,
                                        'controller' => ['ApiController'],
                                        'tokens' => [
                                                '{id}' => '<id:\\w+>'
                                        ],
                                        'patterns' => [
                                                'PUT,PATCH api/{id}/update' => 'api/update',
                                                'DELETE {id}/delete' => 'api/delete',
                                                'GET  {id}' => 'api/get',
                                                'POST ' => 'api/create',
                                                'GET,HEAD' => 'api/index',
                                                   ]
                                ],
                        ],
                ],</blockquote>


И контроллер:
public function actionIndex()
    {
        //  $id = Yii::$app->request->getQueryParam("id"); //
        Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
        return "ok";

    }


    public function actionGet()
    {
        // $id = Yii::$app->request->getQueryParam("id"); //
        Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
        return "get";
        //  return $this->render('index');
    }


Маршрут api/ возвращает экшен index, но маршрут api/3 возвращает 404
  • Вопрос задан
  • 89 просмотров
Пригласить эксперта
Ответы на вопрос 1
maksim92
@maksim92
Yii Framework
Запрос не правильный, как я понял. Судя по вашим правилам
'GET {id}' => 'api/get'
Запрос должен быть такой: api/get?id=3. И, возможно, что лишний слэш
'tokens' => [
     '{id}' => '<id:\w+>'
],
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YLab Тольятти
от 80 000 до 120 000 руб.
Bezlimit Москва
от 100 000 до 130 000 руб.
от 80 000 до 150 000 руб.
21 авг. 2019, в 00:43
500 руб./за проект
21 авг. 2019, в 00:14
1000 руб./за проект