0
私はCakePHP 3をかなり新しくしています。基本的に私はUsersControllerを持っています。このコントローラーには基本的なRESTfulメソッドがいくつかあり、それぞれが有効な要求メソッドを調べてから処理を進めます。例えばCakePHP 3 - いくつかのエンドポイントで一般的な条件のためのミドルウェアを追加します。
class UsersController extends AppController
{
public function create()
{
if ($this->request->is('post') === false) {
throw new BadRequestException('This API endpoint only accepts a POST request');
return false;
}
if (empty($this->request->data) || !count($this->request->data)) {
throw new BadRequestException('No POST data received');
return false;
}
}
public function update()
{
if ($this->request->is('post') === false) {
throw new BadRequestException('This API endpoint only accepts a POST request');
return false;
}
if (empty($this->request->data) || !count($this->request->data)) {
throw new BadRequestException('No POST data received');
return false;
}
}
public function delete()
{
if ($this->request->is('post') === false) {
throw new BadRequestException('This API endpoint only accepts a POST request');
return false;
}
if (empty($this->request->data) || !count($this->request->data)) {
throw new BadRequestException('No POST data received');
return false;
}
}
}
これはかなり繰り返し見て、私はメソッドのみのため、すべての要求の検証を行うミドルウェアを構築することができると思います(私はインデックスを()がある場合、すなわち、ミドルウェアは適用されません);しかし、私はこれをどうやって行うことができないのか分かりません。
ご協力いただければ幸いです。