Como crear un servicio REST para ser consultado desde JQuery

Aquí te mostrados cómo crear un servicio REST para ser consultado desde Jquery





Escenario:

Deseamos crear un servicio REST muy simple para ser consultado vía Jquery el cual será consultado desde dentro de la aplicación.

Podemos usar un controller común si es que solo deseamos tener acceso via Jquery, para una aplicación móvil debe aplicarse otros métodos por el tema de seguridad puede usar éste mismo método pero estaría expuesto ya que no tiene ningún método de seguridad.

En este archivo de Ejemplo llamada ApiCalendarioController.php se muestra de la manera más simple como hacerlo.

Nota importante:

El siguiente método funciona para permitir acceso via shell o no, esto no es un método de seguridad, debes de implementar algún método de seguridad adicional, ya que esto solo dice si puedes entrar desde consola o cualquier otro método "curl" y recordar que Jquery se ejecuta en el cliente por lo que puede ser leido con facilidad

public $enableCsrfValidation = false;



<?php

namespace app\controllers;

use Yii;
use yii\web\Controller;

class ApiCalendarioController extends Controller{
    
public $enableCsrfValidation = false; // false Permite acceso Curl, true permite el acceso solo mediante web browser

    public function beforeAction($action){
       // Aquí puedes poner operación antes de que el

        return true; // Es necesario para continiar con el proceso
    }
    
    public function actionGetAreas($fraccionamiento_id){        
         $misResultados = ['datos' => 'Felicidades has creado un servicio REST'];           
         return json_encode($misResultados);
      }

}


El servicio puede ser consultado como cualquier servicio de Jquery via Json, ejemplo:

http://midominio.com/calendario/

Igual como se mandaría llamar un controller común.

Comentarios

  1. Hola, es un buen tutorial de inicio, ¿cómo podría implementarse la autenticación, ya sea con los usuarios en la propia BD de la aplicación o usando un proveedor de OAuth 2?

    ResponderEliminar
    Respuestas
    1. No había visto tu comentario hasta esta fecha, sinceramente al día de hoy no he implementado ese modelo de seguridad, pero lo que te puedo comentar es que al menos que como yo lo he usado es a través de tokens de seguridad, yo creo que ha de ser algo parecido en el before action podrías meter las rutinas que necesites y otorgar permiso o no. Saludos Diego.

      Eliminar

Publicar un comentario

Aprende Yii2


Lo más Visto

Guía rápida para uso de widget kartik para select para formulario

Cómo incluir una vista dentro de un modal

Tutorial de implementación de calendario de rango de fechas con Karkit en gridView

Google Plus desaparecerá el 4 de Abril de 2019

Crear fomulario HTML con checkbox sin Active Record

hostinger

ventana bienvenida