Agregar RESTFull a Controller de manera independiente en controller

Agregar RESTFull a Controller de manera independiente


He visto algunos manuales de cómo agregar RESTFull a nuestros controladores utilizando una nueva App, pero para este manual se utiliza la misma aplicación Yii sin agregar una nueva App, el objetivo es aplicarlo en un controller de manera independiente de manera pueda estas en la misma App. 

El presente manual es implementado en una plantilla "Basic".


Configuración de Pretty URL

Verifica que tengas habilitada la opción de Pretty dentro del archivo de configuración de la aplicación, en dicho caso debas tener una configuración como la siguiente:


    
      
        [
        'components' => [
            'urlManager' => [
                'enablePrettyUrl' => true,
                'showScriptName' => false,
                'enableStrictParsing' => true,
                'rules' => [
                    // ...
                ],
            ],
        ],
    ]

   
Esto no es obligatorio pero ayuda a una mejor estructura de URLS.

Crear controller simple para API


Este es un ejemplo de un controller simple:



    namespace app\controllers;

    use yii\web\Controller;

    class ApiController extends Controller {

        public $enableCsrfValidation = false; // false Permite acceso Curl, true permite el acceso solo mediante web browser
        
        public function actionIndex() {
            $misResultados = ['datos' => 'Felicidades has creado un servicio REST'];
            return json_encode($misResultados);
        }
    

   

Para ejecutar este servicio, si tiene una plantilla Básica la url podría ser:

http://localhost/tuaplicacion/web/api

Y si utilizaras alguna aplicación de cliente para consultas rest podría verse se la siguiente manera:



Nota importante: Si su aplicación cuenta con algún sistema de autenticación como por ejemplo RBAC (Role based access control), debe de agregar la ruta del controller antes mencionado para que se pueda acceso a la API sin restricciones.


Comentarios

Aprende Yii2


Lo más Visto

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

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

Cómo incluir una vista dentro de un modal

Google Plus desaparecerá el 4 de Abril de 2019

Crear fomulario HTML con checkbox sin Active Record

hostinger

ventana bienvenida