API Rest Controllers
Introdução#
O Onyx oferece uma simples classe RestController para facilitar a escrita da REST API's do WordPress. Veja mais informações na função register_rest_route() e em custom endpoints
Funcionamento#
Todas os controllers para a REST API são criados dentro da pasta ./core/app/Api, tem como seu namespace Onyx\Controllers e extendem a classe Onyx\RestController.
Registrando#
Após a criação do controller, é necessário registrá-lo em ./core/config/app.php como no exemplo abaixo.
Parâmetros e Métodos#
| Variável | Tipo | Descrição | Obrigatório |
|---|---|---|---|
$namespace | string/array | Namespace da Rota | ✔ |
É obrigatório setar a propriedade namespace da classe assim como inicializar o método $this->initialize() como podemos ver no exemplo a seguir.
Métodos Helpers
Criando um REST API Controller#
Neste exemplo criaremos o endpoint /(api|wp-json)/onyx/v1/example com os métodos POST e GET.
Métodos Helpers#
route()#
| Variável | Tipo | Descrição | Obrigatório |
|---|---|---|---|
$method | WP_Rest_Server/mixed | (GET, POST, PUT, PATCH, DELETE) | ✔ |
$route | string | O Endpoint da rota | ✔ |
$callback | callable | Método do controller callback para executar | ✔ |
$options | array | Opções do endpoint | ✘ |
$override | bool | Substituir rota existente. Padrão: falso | ✘ |
@return bool
@throws \Exception Se não existir $namespace
rest_response()#
Alias para \WP_REST_Response