New question

Question:

Date: 20-12-2018 05:14:19 (In Spanish)

Creacion de ApiRest[Unresolved]

Buenos dias/tardes/noches,
En estos momentos me encuentro creando una libreria ApiRest y tengo entendido que los datos se envian via
GET/POST/PUT/DELETE, el tema es como puedo enviar esos metodos en la consulta

por ejemplo:

AddRoute::get('users/{id}', 'UsersControllers')
AddRoute::post('users', 'UsersControllers')
AddRoute::put('users/{id}', 'UsersControllers')
AddRoute::delete('users/{id}', 'UsersControllers')

La idea es que envie la informacion especificando GET/POST/PUT/DELETE segun sea el caso,
en realidad el problema lo tengo en como enviar ese parametro para que la api reconozca el metodo a usar.

Espero haberme dado a entender, Agradezco sus opiniones
Tags: API - Library - PHP - REST Votes: 0 - Answers: 1 - Views: 6 Share on: Google Facebook Twitter LinkedIn Link
 

Answers:

  • Date: 21-12-2018 11:21:52 Hola , me parece que no mencionaste en que entorno estas trabajando , el framework (Laravel , symfony ..).

    Si estas realizandolo con php puro te dejo un fragmento de codigo que te puede servir:

       private function tratarEntrada() {  
         $metodo = $_SERVER['REQUEST_METHOD'];  
         switch ($metodo) {  
           case "GET":  
             $this->datosPeticion = $this->limpiarEntrada($_GET);  
             break;  
           case "POST":  
             $this->datosPeticion = $this->limpiarEntrada($_POST);  
             break;  
           case "DELETE"://"falling though". Se ejecutar? el case siguiente  
           case "PUT":  
             //php no tiene un metodo propiamente dicho para leer una peticion PUT o DELETE por lo que se usa un "truco":  
             //leer el stream de entrada file_get_contents("php://input") que transfiere un fichero a una cadena.  
             //Con ello obtenemos una cadena de pares clave valor de variables (variable1=dato1&variable2=data2...)
             //que evidentemente tendremos que transformarla a un array asociativo.  
             //Con parse_str meteremos la cadena en un array donde cada par de elementos es un componente del array.  
             parse_str(file_get_contents("php://input"), $this->datosPeticion);  
             $this->datosPeticion = $this->limpiarEntrada($this->datosPeticion);  
             break;  
           default:  
             $this->response('', 404);  
             break;  
         }  
       }  



    Saludos
      Votes: 0 - Link answer
     
To actively participate in the community first must authenticate, enter the system.Sign In
 
frjcbbae garagebible.com