24 octubre, 2018
Para generar JSON en Laravel debemos usar un response con el método json(), este convierte cualquier consulta en formato JSON, ideal para una API Rest.
Suscríbete a nuestro canal en Youtube
SuscríbirseLas aplicaciones web modernas han estado evolucionando de forma acelerada, uno de los últimos avances es el trabajo mediante servicios RESTful, o servicios web, es decir, no depender de estados, si no que trasladamos los datos con los métodos HTTP, esto nos da una gran versatilidad, porque podemos mezclar diferentes tecnologías y lenguajes de programación para lograr desarrollar aplicaciones muy avanzadas; como por ejemplo comunicar una aplicación android u otra aplicación web.
Entre las mezclas más utilizadas en la actualidad está tener un sistema de persistencia programado, que en este caso puede ser en PHP con Laravel y luego todo el front-end manejarlo con Javascript, u otro lenguaje que solo se encargue de la capa de presentación.
Para poder comunicarse ambas partes dependen de un lenguaje en común y este es JSON, con lo cual la transmisión de datos puede darse bajo un dialecto en común y así evitar incompatibilidades.
Laravel no proporciona un método de uso muy fácil :
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class FrontController extends Controller
{
public function index(){
$data = [
'success'=>true,
'categorias' => array(
array('nombre'=>'luis', 'edad'=>20),
array('nombre'=>'Dean', 'edad'=>21)
)
];
return response()->json($data, 200, []);
}
}
El resultado es el siguiente:
{"success":true,"categorias":[{"nombre":"luis","edad":20},{"nombre":"Dean","edad":21}]}
En este ejemplo realizamos dos consultas:
El método response::json() transforma o parsea la consultas a formato JSON, antes los datos los convertimos a Array en este ejemplo, es aqui donde se puede ser versatil para crear las estructuras que necesitemos en la aplicación que estemos creando
En el cual declaramos dos tablas que ha ser convertidas en arrays , el método json() los convierte a formato Json, y pues ya podemos usarlo para nuestras aplicaciones web.
El resultado del Json es el siguiente:
{"success":true,"categorias":[{"id":1,"nombre":"Tecnolog\u00eda","descripcion":"Empresas de tecnolog\u00edas e internet"},{"id":2,"nombre":"Marketing","descripcion":"Marketing"},{"id":3,"nombre":"Salud","descripcion":"Salud"}],"empresas":[{"id":1,"nombre":"Dev Web SAC","descripcion":"Dev Web SAC","precio":"10.00","subcategoria_id":2,"created_at":null,"updated_at":null},{"id":2,"nombre":"Comer Bien SA","descripcion":"Comer Bien SA","precio":"17.00","subcategoria_id":6,"created_at":null,"updated_at":null},{"id":3,"nombre":"Masajes Sanadores EIRL","descripcion":"Masajes Sanadores EIRL","precio":"24.00","subcategoria_id":5,"created_at":null,"updated_at":null},{"id":4,"nombre":"Imagen Alternativa SRL","descripcion":"Imagen Alternativa SRL","precio":"45.00","subcategoria_id":1,"created_at":null,"updated_at":null},{"id":5,"nombre":"Web Digital SRL","descripcion":"Web Digital SRL","precio":"12.00","subcategoria_id":2,"created_at":null,"updated_at":null},{"id":6,"nombre":"JL Web ","descripcion":"JL Web ","precio":"232.00","subcategoria_id":2,"created_at":null,"updated_at":null}]}
Pudimos ver que fue muy fácil construir el controlador, esto es gracias a la clase Response, ya que con el método que en ella reside json(), podemos asegurarnos que todos los arrays que le pasemos serán convertidos de forma válida al formato JSON, por lo que podemos pasarle por ejemplo un contenido dinámico de una búsqueda de base de datos, esto nos facilita la vida ya que no tenemos que construir a mano una funcionalidad que construya un resultado JSON.
Leido 18277 veces | 2 usuarios
8 descargas
Para descargar el código crea una cuenta
Crear cuenta© Copyright Codea::App Cursos de Programación Online | LATAM | 2020 - 2024