Exemplo Simples de API rest com Adianti Framework

O intuito desse post é mostrar de maneira simples como criar uma API utilizando o Adianti Framework. Para este exemplo baixei a ultima versão do framework no site https://www.adianti.com.br/framework e utilizei o Postman https://www.getpostman.com/ para realizar as chamadas.

1º Etapa

Renomeie o arquivo rest.php.dist para rest.php localizado na raiz.

2º Etapa

Caso necessário você pode implementar mecanismo de controle no arquivo rest.php, porém neste exemplo não vai ser necessário, por isso vou comentar o trecho onde poderíamos implementar a regra.

Bloco comentado acima:

// aqui implementar mecanismo de controle !!
// if (get_parent_class($class) !== 'Adianti\Service\AdiantiRecordService')
 // {
//     return json_encode( array('status' => 'error',
//                               'data'   => _t('Permission denied')));
// }

3º Etapa

Vamos criar uma classe exemplo chamada Restaurante.class.php no diretório app->control->api->Restaurante.class.php, esta será responsável por retornar tudo que for relacionado ao restaurante como a lista de restaurantes disponíveis e as informações detalhadas de cada um.

4º Etapa

Iremos criar duas funções nesta classe, uma para retornar a lista e outra os detalhes.

<?php

class Restaurantes {

    public $restaurantesArray = ["Restaurante A", "Restaurante B"];

    
    public function getRestaurantes(){
        return $this->restaurantesArray;

    }


    public function getRestaurante(){

        if(isset($_GET["id"])){
            $restaurante = array("nome"=>"Texas", "endereco"=>"Rua 10", "cardapio"=>["Prato A","Prato B","Bebida A","Bebida B"]);
            return $restaurante;
        }else{
            return "Informe o id do restaurante";
        }

    }

}

5º Etapa

Agora através do Postman, seu navegador ou do software que você utiliza faça a chamada para a aplicação já hospedada em um servidor apache ou nginx local ou remoto da seguinte forma:

// Lista de restaurantes
http://URL-DA-APLICACAO-AQUI/rest.php?class=Restaurantes&method=getRestaurantes
// Detalhes do restaurante
http://URL-DA-APLICACAO-AQUI/rest.php?class=Restaurantes&method=getRestaurante&id=10

Deixe uma resposta