Servicios REST con laravel

En esta sección se resolverán dudas relacionadas con la creación de aplicaciones híbridas, haciendo énfasis en temas relacionados con Javascript y frameworks de Javascript como Angular y Jquery.

Moderator: julianmartinez16

Post Reply
User avatar
xacarana
Site Admin
Posts: 1028
Joined: Fri Jan 15, 2016 6:13 pm

Servicios REST con laravel

Post by xacarana » Mon Sep 26, 2016 11:50 am

Ejemplo vista (lista.blade.php)

Code: Select all

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<!--script type="text/javascript" src="js/vendor/jquery.min.js"></script-->
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
	
	<script type="text/javascript">
		
		function peticion()
		{
			$.ajax({
				method: "GET",
				url: "http://localhost:8000/libros/1",
				data: {  },
				dataType: "json"
				})
				.done(function( data ) {
				console.dir(data);
				pintarDatos(data);
			});
		}

		function pintarDatos(data)
		{
			console.log(data["libros"]);
			var libros = data["libros"];
			var ans = "<table>";
			var libro;
			for(i in libros)
			{

				libro = libros[i];

				ans += "<tr>";
				ans += "<td><img src='"+libro.imagen+"' /></td>";
				ans += "<td>"+libro.nombre+"</td>";
				ans += "<td>"+libro.descripcion+"</td></tr>";
			}
			ans+= "</table>";
			$("#resultado").html(ans);
		}

		window.onload = peticion;

	</script>
</head>
<body>
	<div id="resultado"></div>
</body>
</html>
Controlador de libros (librosController.php)

Code: Select all

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;

class LibrosController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        return view("lista");
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        $datos = [];
        $datos["error"] = false;
        $datos["libros"] = [];
        $libro = [];
        $libro["nombre"] = "Cien años de soledad";
        $libro["imagen"] = "https://upload.wikimedia.org/wikipedia/commons/thumb/a/af/Cien-a%C3%B1os-de-soledad.jpg/195px-Cien-a%C3%B1os-de-soledad.jpg";
        $libro["descripcion"] = "asfdsfdaafdsfdasfdaafds";
        array_push($datos["libros"], $libro );

        $libro = [];
        $libro["nombre"] = "El coronel no tiene quien le escriba";
        $libro["imagen"] = "http://www.elresumen.com/tapas_libros/el_coronel_no_tiene_quien_le_escriba.jpg";
        $libro["descripcion"] = "asfdsfdaafdsfdasfdaafds";
        array_push($datos["libros"], $libro );
               
        return json_encode($datos);
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }
}

Configuración de la lista en el archivo de rutas web

Code: Select all

Route::resource("libros","LibrosController");
Comandos

Code: Select all

composer create-project --prefer-dist laravel/laravel servicio
cd servicio/
php artisan make:controller LibrosController --resource
php artisan serve
Andrés Bedoya Tobón
Profesor
"I only smile in the dark, I only smile when it's complicated" Raybiez

Post Reply