Skip to content

Uma api-rest simples onde a funcionalidade dela é para cadastrar ,deletar,atualizar e visualizar um usuário do banco de dados.

Notifications You must be signed in to change notification settings

Gabs1405dragon/Api_Rest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

API REST feita do zero com php | Documentação

Nessa documentação vai ser feita uma api rest com requisição GET e o retorno no formato Json.

Vamos começar primeiro a criar uma api key colocando em uma constante define.

O valor da constante vai ser um indentificador unico que você vai criar. fazendo isso agora vamos verificar se existe o $_GET token com a função isset() se caso não existir vai aparece uma mensagem de erro.

Depois verificar se o token é igual o indentificador unico que você colocou na constante.

Agora verificar se existe "acao" na query url. Essa query vai ser o ponto chave da api para fazer a ação da api.se existir agora nós vamos fazer uma conexão com o banco de dados usando a class do PDO para fazer a conexão com o banco

Mais antes disso nós temos que criamos o banco de dados o nome do banco vai ser clientes e vai ter a tabela usuários para cadastrar os clientes.a tabela vai ter dois campos um com o id para ficar incrementando todos os novos dados que são inseridos ,e o outro campo é o nome onde vai ser o nome de todos os usuários cadastrados.

    create database clientes;
    use clientes;
    create table usuarios(
        id int unsigned not null auto_increment,
        nome varchar(45) not null,
        primary key (id)
    );

Agora fazer as funcionalidades da api que vão ser (Criar um usuário,deletar usuário ,atualizar o usuário e visualizar o usuário).

  1. Cadastrar o usuário na tabela.
    • Verificar se o valor da query url acao é "criar_cliente".
    • Verificar se a existi a query url nome .
    • Verificar se o nome está vázio.
    • Inserir no banco de dados o usuário com o INSERT onde o campo nome vai ser o valor do nome que foi passado na query url nome.
    • Se passou na validação vai ser retornada a mensagem em formato json com a função json_encode().
  2. Deletar o usuário da tabela.
    • Verificar se o valor da query url acao é "deletar_cliente".
    • Verificar se existi a query url 'id'.
    • Deletar o usuário do banco com DELETE onde o id do usuário vai ser o valor que você deu na query url.
  3. Atualizar o usuário.
    • Verificar se o valor da query url acao é "atualizar_cliente".
    • Verificar se existi a query url 'id'.
    • Verificar se existi a query url 'val'.
    • Verificar se existi o valor do id que foi passado na query url no banco de dados usando o "SELECT".
    • Agora fazer a alteração com o "UPDATE" onde o valor do campo nome vai ser o valor que você passou no var da query url.
  4. Puxar a informação de um usuário individual.
    • Verificar se o valor da query url acao é "visualizar_cliente".
    • Verificar se existi a query url 'id'.
    • Usar o "SELECT" onde o campo Id vai ser o valor do que você passou no id da query url
    • Se passar na validação os dados van ser puxados em formato json

O código do completo é esse que esta mostrando em baixo!!

      define('TOKEN','dkjhdjkfweijfoihfj238932');

      if(isset($_GET['token'])){
          $token = $_GET['token'];
          if($token == TOKEN){
              if(isset($_GET['acao'])){
                  $acao = $_GET['acao'];
                  $pdo = new PDO('mysql:dbname=clientes;host=localhost;port=8634','root','sonw8634');
                  if($acao == 'criar_cliente'){

                      if(isset($_GET['nome'])){
                          $nome = (string)$_GET['nome'];
                          if(!$nome == ''){
                              $criar = $pdo->prepare("INSERT INTO usuarios VALUES (null,?)");
                              if($criar->execute(array($nome))){
                                  die(json_encode(array('cadastrar'=>true,'O nome do usuário'=>$nome)));
                              }else{
                                  die(json_encode(array('cadastrar'=>false,'erro'=>'Não foi possivel inserir o usuário')));
                              }
                          }else{
                              die(json_encode(array('cadastrar'=>false,'error'=>'Nome vazio.')));
                          }

                      }else{
                          die(json_encode(array('cadastrar'=>false,'erro'=>'não existe o nome na url')));
                      }


                  }else if($acao == 'atualizar_cliente'){
                      if(!isset($_GET['id'])){
                          die(json_encode(array('error'=>'não existe o id do usuário que vai ser alterado.')));
                      }
                     $id = (int)$_GET['id'];
                      if(isset($_GET['val'])){
                          $val = $_GET['val'];
                          $verificar = $pdo->prepare("SELECT * FROM usuarios WHERE id = ?");
                          $verificar->execute(array($id));
                          if($verificar->rowCount() == 1){
                              $update = $pdo->prepare("UPDATE usuarios SET nome = ? WHERE id = ?");
                              $update->execute(array($val,$id));
                              die(json_encode(array('sucess'=>true,'o ID '.$id.' foi feita a alteracao do nome '.$val)));
                          }else{
                              die(json_encode(array('nao existe esse id no banco'=>false)));
                          }
                      }else{
                          die(json_encode(array('error'=>'não existe o val do usuário que vai ser alterado.'))); 
                      }
                  }else if($acao == 'deletar_cliente'){
                      if(!isset($_GET['id'])){
                          die(json_encode(array('error'=>'não existe o id do usuário que vai ser deletado.')));
                      }
                     $id = (int)$_GET['id'];
                     $deletar = $pdo->prepare("DELETE FROM usuarios WHERE id = ?");
                     $deletar->execute(array($id));
                     die(json_encode(array('sucesso'=>true,'deletado'=>$id)));

                  }else if($acao == 'visualizar_cliente'){
                      if(!isset($_GET['id'])){
                          die(json_encode(array('error'=>'não existe o id')));
                      }
                      $id = (int)$_GET['id'];

                          $sql = $pdo->prepare("SELECT * FROM usuarios WHERE id = ?");
                          $sql->execute(array($id));
                          if($sql->rowCount() == 1){
                              $dados = $sql->fetch();

                              echo json_encode($dados);

                          }else{

                              echo json_encode(array('error'=>'Não existe esse id cadastrado')) ;

                          }

                  }else{
                      die('Esse valor da acao esta errada.');
                  }
              }else{
                  die('não existe a acao para continuar api..');
              }
          }else{
              die('Essa não é a sua api key.');
          }
      }else{
          die('Não existe o token da para fazer a requisição da api!!');
      }

Muito obrigado por ter lido o código até aqui :)

Minhas redes socias

About

Uma api-rest simples onde a funcionalidade dela é para cadastrar ,deletar,atualizar e visualizar um usuário do banco de dados.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages