Nueva pregunta

Pregunta:

Fecha: 20-12-2018 05:14:19 (En Español)

Creacion de ApiRest[No resuelta]

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
Etiquetas: API - Librería - PHP - REST Votos: 0 - Respuestas: 1 - Vistas: 6 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 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
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com