Как разрешить доступ к PUT DELETE
в RESTfull yii2 ?
Использую angularjs.
В Yii2 по умолчанию уже есть поддержка всех методов REST API, для этого достаточно наследовать свой контроллер от контроллера \yii\rest\ActiveController
.
Приведу на примере пользователей:
namespace app\controllers;
use yii\rest\ActiveController;
class UserController extends ActiveController
{
public $modelClass = 'app\models\User';
}
Потом в конфигурации прописать в urlManager
следующие правила:
'urlManager' => [
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'showScriptName' => false,
'rules' => [
['class' => 'yii\rest\UrlRule', 'controller' => 'user'],
],
]
И тогда у вас доступны все методы REST API:
GET /users
: постраничный вывод всех пользователей; HEAD /users
: общий вывод информации о пользователях;POST /users
: создание пользователя; GET /users/123
: возвращает данные о пользователе 123; HEAD /users/123
: вовзращает общую информацию о пользователе 123; PATCH /users/123
и PUT /users/123
: обновляет пользователя 123; DELETE /users/123
: удаляет пользователя 123; OPTIONS /users
: показывает поддерживаемые методы относительно /users
;OPTIONS /users/123
: показывает поддерживаемые методы относительно /users/123
.Это всё и более детально описано в гайде, правда на английском.
Похоже getBodyParams
то, что вам нужно.
https://github.com/yiisoft/yii2/blob/master/framework/web/Request.php#L384
Как вариант можно getRawBody
и парсить самому в зависимости от типа.
https://github.com/yiisoft/yii2/blob/master/framework/web/Request.php#L352
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Доброго времени сутокВопрос следующий - как привести дату/время к определённому формату, а после "выдернуть" из него дату/время
Есть две переменные типа string: 1) задана вручную в php коде ($date1="14 июня"), 2) "содрана" при помощи cURL+phpQuery c удаленной страницы ($date2)