Cómo crear una API REST en LARAVEL desde 0

Поделиться
HTML-код
  • Опубликовано: 24 ноя 2022
  • #tutorial #development #php
    No te pierdas cómo crear una api rest desde 0 con laravel de una forma sencilla y paso a paso.
    Además en el próximo video veremos cómo consumir esta API REST con otro proyecto de laravel, especial para consumir APIS.
    Conviértete en miembro de este canal para disfrutar de ventajas:
    / @elrincondeisma
    No olvides suscribirte y darle al like!!!
    Espero vuestros comentarios.
    CURSOS
    🔴 Laravel 9 desde cero: • CURSO LARAVEL 9 GRATUITO
    🟠 Crea una API REST: • Curso API REST con LAR...
    🟡 Despliega tu aplicación fácilmente: • 📝 Curso API REST con L...
    🟢 Roles y permisos con Laravel: • Laravel : Cómo crear R...
    🔵 Laravel Excel: • Aprende a crear REPORT...
    🟣 Tareas programadas con Laravel: • CÓMO crear TAREAS PROG...
    ⚫️ Laravel Inertia: • Aprende a crear un CRU...
    NO OLVIDES SUSCRIBIRTE Y DARLE AL BOTÓN DE ME GUSTA.
    LINK AL CANAL DE TELEGRAM: t.me/+Dw3D-OB5Ew81MTZk
    ☕️ Otra manera de apoyar el canal 👇🏼 "buymeacoffee"
    www.buymeacoffee.com/ElRincon...
    👤 Sígueme en:
    · Instagram - / elrincondeismaoficial
    · TikTok - www.tiktok.com/@elrincondeism...
    - LINK A GITHUB: github.com/elrincondeisma

Комментарии • 109

  • @alvarosego01
    @alvarosego01 10 месяцев назад +5

    Alfin un tutorial claro y certero para hacer una api con laravel, tenia un monton buscando algo simple entre tantos canales.. gracias!

  • @NadiaLogis
    @NadiaLogis 3 месяца назад +1

    Eres un master, gracias, estoy entendiendo muy bien el concepto de API y por fin pude hacerlo con laravel.

  • @anmasa
    @anmasa Год назад +1

    Genial, lo haces fácil, muy bien explicado, darte las gracias por tu tiempo, saludos.

  • @mortalpendrive
    @mortalpendrive 10 месяцев назад +1

    Excelente vídeo , claro y conciso, muchas gracias ...

  • @Radiosabines
    @Radiosabines Год назад +1

    Muchas gracias por tu videos , me encanta la manera como explicas el manejo de Laravel, Master

    • @elrincondeisma
      @elrincondeisma  Год назад +1

      Muchisimas gracias a ti y Recuerda ⚠️ Puedes unirte a nuestra comunidad de DISCORD en este link 👉discord.gg/gBE3qpuKF3 y a nuestro canal de twitch 👉www.twitch.tv/elrincondeismaoficial

  • @leydertami6321
    @leydertami6321 Год назад +1

    sus videos son de mucha ayuda, gracias es facil aprender con sus explicaciones

    • @elrincondeisma
      @elrincondeisma  Год назад

      Muchisimas Gracias! Recuerda ⚠️ Puedes unirte a nuestra comunidad de DISCORD en este link 👉discord.gg/gBE3qpuKF3 y a nuestro canal de twitch 👉www.twitch.tv/elrincondeismaoficial

  • @guillermogomez9969
    @guillermogomez9969 Год назад +1

    Excelente video, muchas gracias por compartir. Me estoy iniciando en el mundo de las APIS. ¡¡¡Me pareció muy didáctico ya mismo busco el video siguiente, Ganaste un suscriptor!!!
    Saludos.
    Guillermo

  •  Год назад +1

    Video top, muy bien explico. Gracias.

  • @edilbertoherrera1589
    @edilbertoherrera1589 Год назад +4

    hola muy bueno tu video me gusta como realiza las explicaciones
    te dejo un aporte cuando creas el array para devolver los servicios del cliente en el método index para evitar el array también
    se puede hacer uso de load()
    public function index()
    {
    $clients = Client::all();
    $clients->load('services');
    return response()->json($clients);
    }

    • @elrincondeisma
      @elrincondeisma  Год назад

      Muy bien!! Me encanta que la comunidad aporte nuevos metodos!! Gracias por formar parte

  • @jorgealbertopalmamayorga9955
    @jorgealbertopalmamayorga9955 5 месяцев назад +1

    gracias por el video, me despejo la nube de dudas que tenia en la cabeza sobre trabajar con laravel :D

  • @dijhonsdeveloper4785
    @dijhonsdeveloper4785 10 месяцев назад +1

    Buena tarde, quedo atento al curso de SQL:); adicionalmente estoy desarrollando este ejercicio, muy bueno.
    Gracias

  • @rodrigorivera3567
    @rodrigorivera3567 Год назад +1

    Excelente video! gracias !!!!

    • @elrincondeisma
      @elrincondeisma  Год назад

      Gracias. Únete si aún no lo has hecho a nuestra comunidad suscribiéndote a nuestro canal de youtube y uniéndote a nuestro discord:discord.gg/meZU65c67e

  • @BigDariio2022
    @BigDariio2022 Год назад +2

    Excelente video, muchas gracias por compartir tu conocimiento con laravel.
    Espero un video sobre consumiendo el api rest de laravel sea en blade o JavaScript o lo que se pueda de frontend.

    • @elrincondeisma
      @elrincondeisma  Год назад

      Lo tienes ya publicado. Saludos. Recuerda ⚠️ Puedes unirte a nuestra comunidad de DISCORD en este link 👉discord.gg/gBE3qpuKF3

  • @jjjortega
    @jjjortega 8 месяцев назад +2

    En la consulta de los clientes agregas ->with('services') antes del ->get() y listo! devuelves los clientes y ellos ya vienen con los servicios... 😉

  • @gonchova
    @gonchova Год назад +3

    Muy bueno el video y la explicación paso a paso, solo un detalle y es que el volumen esta muy bajo ( por mas que ponga al máximo el de RUclips y de la pc, aun es bajo).. Luego, te felicito por la claridad de las explicaciones. Muchas gracias!

    • @elrincondeisma
      @elrincondeisma  Год назад +1

      Muchísimas gracias, subiremos el volumen gracias a un nuevo micrófono. Saludos

  • @deimarjunior02
    @deimarjunior02 Год назад +1

    Este video es oro

  • @DestroyWolves
    @DestroyWolves Год назад +3

    Como dato adicional. si desean enviar campos de su Request al pivot mediante el attach simplemente deben agregar una , y luego un objeto con los datos. ejem
    $clients->services()->attach($request->service_id, ['my_field' => $request->myVar]);

  • @AngelDavidBTF
    @AngelDavidBTF 5 месяцев назад +1

    me has salvado

  • @dijhonsdeveloper4785
    @dijhonsdeveloper4785 10 месяцев назад +1

    Hola, no conocia tu canal, inicio el desarrollo del ejercicio :)

  • @josesalcedo7275
    @josesalcedo7275 Год назад +1

    Hola buenas, muchas gracias por compartir su conocimiento de verdad, me ha ayudado, gracias, para las personas que de alguna manera le esté dando error al momento de enviar la data por PUT, para realizar el update es solo cambiar en los headers en la key por Content-type en vez de Accept, tarde mucho en encontrar el error la verdad jajaja, pero bueno les dejo una solución

    • @elrincondeisma
      @elrincondeisma  Год назад +1

      Muchas Gracias!! Y Recuerda ⚠️ Puedes unirte a nuestra comunidad de DISCORD en este link 👉discord.gg/gBE3qpuKF3 y a nuestro canal de twitch 👉www.twitch.tv/elrincondeismaoficial

    • @josesalcedo7275
      @josesalcedo7275 Год назад +1

      @@elrincondeisma Disculpe una pregunta mas que todo viendo sus videos era porque queria buscar algo claro de como manejar api con laravel bien, en estos momentos quiero hacer una integracion entre laravel y react cual recomienda en tal caso que seria lo mejor para autenticacion, email verificacion doble token y eso

    • @elrincondeisma
      @elrincondeisma  Год назад +1

      @@josesalcedo7275 Deberias usar Laravel Sanctum o Fortify. Laravel puede hacer la Auth de cualquier sistema. La mas sencilla es por email y password. Luego el siguiente método mas usado es por Social Login con Google, Facebook, Twitter o Apple. La dobre autenticación es un método de seguridad no una forma de autenticación. Espero poder haberte ayudado un poquito con mis videos. Muchas gracias

    • @josesalcedo7275
      @josesalcedo7275 Год назад

      @@elrincondeisma muchas gracias por la respuesta ya me agregue al Twitch,👌para seguir más a fondo sus videos

  • @avelinocacciavillani7859
    @avelinocacciavillani7859 Год назад

    Genio gracias por compratir conocimiento! único detalle la calidad del audio, el resto excelente!!

    • @elrincondeisma
      @elrincondeisma  Год назад +1

      Gracias! Mira los ultimos videos del canal. Dame tu opinión si se han mejorado.

  • @ManuelPaez-zh1nq
    @ManuelPaez-zh1nq Год назад +3

    Gracias por este video justo estaba buscando uno para iniciarme con la API para luego tirar con algun frontend. Si pudieras hacer un video de API más avanzado estaria super bien.

    • @elrincondeisma
      @elrincondeisma  Год назад

      Gracias y Recuerda ⚠️ Puedes unirte a nuestra comunidad de DISCORD en este link 👉discord.gg/gBE3qpuKF3 y a nuestro canal de twitch 👉www.twitch.tv/elrincondeismaoficial

  • @emmanuelareiza9699
    @emmanuelareiza9699 Год назад +1

    Muchas gracias profe
    Puedes subirle un poco al volumen
    Gran video

    • @elrincondeisma
      @elrincondeisma  Год назад

      Mira los nuevos videos del canal. Espero haber subido la calidad de audio

  • @juanracornejo
    @juanracornejo Год назад +2

    Lo primero es dar gracias por sus videos tienes una forma de explicar que se entienden muy bien yo tengo una duda como creas una api res pero con imágenes o como puedes enviar la url de la imagen en un json podrías realizar un video con ello desde ya muchas gracias

  • @walemfly
    @walemfly Год назад +1

    Hola man, una duda que herramienta GUI utilizas para visualizar la base de datos??

  • @walemfly
    @walemfly Год назад +1

    Hola man, oye tienes algun video en donde enseñes como usar traducciones en la api rest? es decir que los mensajes que devuelva se puedan traducir?

  • @carlosgil3284
    @carlosgil3284 Год назад +1

    Una pregunta Isma , porque en las rutas pongo {id} en vez de client y me devuelve array vacio. Donde se especifica si es id o client ? Gracias

  • @elmarlon5763
    @elmarlon5763 Месяц назад +1

    otra forma de que aparezca, creo que puede ser asi
    public function attach(Request $request)
    {

    $client = Client::find($request->client_id);
    $client->services()->attach($request->service_id);
    $finish= [
    'message' =>'Client attach successfully',
    'client' => $client,
    'service' => $request->service_id

    ];
    return response() -> json($finish);
    }

  • @SonidoScoobyDoo
    @SonidoScoobyDoo Год назад +1

    Hola, gracias por el video!
    Tengo rato buscando uno donde apliquen policies en una api

  • @user-rd4oo1jg5g
    @user-rd4oo1jg5g 10 месяцев назад +1

    Muy buen video. Consulta, instale laravel con Sail, que servidor web esta usando Apache o NGIX? gracias!

  • @frans7671
    @frans7671 11 месяцев назад +1

    Pregunta, para que services/clients sea un get se deberia enviar un Query parameter, como se haría en laravel?

  • @lunaticochats
    @lunaticochats 8 месяцев назад +1

    Me gustaría aprender a usar el api de imgur para subir las imágenes de usuario y post

  • @josefernandouseche6472
    @josefernandouseche6472 Год назад +1

    Hola Ismael, gracias por compartir. Me gusta laravel para las apis. Podrías enseñar una api pero sin el orm eloquent ? podría ser con PDO ?

  • @PotooAndFriends
    @PotooAndFriends Год назад +1

    Lo del array para devolver el index con servicios yo lo he resuelto en una línea...
    $productos=Product::where('id','>=',0)->with('category')->get();
    return response()->json($productos);
    Y lo mismo para el show...
    $prod=Product::where('id', '=',$product->id)->with('category')->get();
    return response()->json($prod);

    • @elrincondeisma
      @elrincondeisma  Год назад

      Perfecto!! Es muy buena idea meter las relaciones.

  • @SwikProducciones
    @SwikProducciones Год назад +1

    Tambien puedes obtener los datos del pivot asi:
    public function show(Client $client)
    {
    $client->services; // al tocarlo aqui, ya te lo incluye en la respuesta
    return response()->json($client);
    }

  • @francodemetrio2707
    @francodemetrio2707 Год назад +1

    No comprendí del todo cual es la finalidad de traer los clientes juntos con sus servicios de esa manera.. Porque no usar un simple join? o no es posible?. Saludos! siempre subiendo material de tanta calidad!

    • @elrincondeisma
      @elrincondeisma  Год назад +1

      Gracias. Si se puede. Siempre hay varia maneras de hacer las cosas. Alguna idea para nuevo contenido?

    • @francodemetrio2707
      @francodemetrio2707 Год назад

      @@elrincondeisma quizá sería interesante una serie de videos en donde se desarrollé una app (si es con Laravel mejor para mí jajaj) pero en donde además de la codificación de la misma se abarque también todo lo demás que conlleva un proyecto. Desde la comunicación del sistema, la identificación de requerimietos, el modelado o la planificación de cara al desarrollo (Azure devops, jira, trello o alguna de esas herramientas) quizá hasta un pequeño marco teórico de Agile ya que es súper súper normal encontrarse con cosas como Features, User Stories. Cómo atomizas un sistema en epic, features, user stories, etc. La creación de la BD, la construcción del sistema en sí y también el despliegue del mismo en un host paso a paso. Es decir, y para resumir la realización de un sistema desde el momento 0 hasta el final. Ufff sería maravilloso ver a alguien que sabe tanto hacerlo!. Saludos!

  • @victorluque1659
    @victorluque1659 10 месяцев назад +1

    cuando ejecuto el comando php artisan migrate (en el video 20:39 ) me sale que la tabla users ya existe, pero eso pasa en la primera vez que ejecuto la migracion, alguien me puede ayudar?

  • @milagrosbordon904
    @milagrosbordon904 Год назад +1

    Hola Isma! estoy siguiento tu tutorial para crear mi api rest, tengo una consulta: las tablas pivot se usan únicamente para relaciones n a m? En mi caso, debo hacer una relacion 1 a n, puedo usar una pivot o no seria lo correcto? Saludos desde argentina!

    • @elrincondeisma
      @elrincondeisma  Год назад +1

      No en necesario hacer una pivot. Si quieres mas ayuda puedes unirte a la comunidad de Discord. discord.gg/meZU65c67e

  • @emmanuelareiza9699
    @emmanuelareiza9699 Год назад +1

    Muy buen video , Pero mejora el volumen

    • @elrincondeisma
      @elrincondeisma  Год назад +1

      Mira los ultimos videos. Espero haberlo mejorado

    • @emmanuelareiza9699
      @emmanuelareiza9699 Год назад

      @@elrincondeisma Profe usted es un crack , Hagale que yo subo el volumen a tope desde mi pc , Grandioso aporte profe

  • @rubenmunozaragon5738
    @rubenmunozaragon5738 Год назад +1

    Saludos Isma.
    Que terminal estás utilizando?.gracias x tu contenido

    • @elrincondeisma
      @elrincondeisma  Год назад

      ITerm. Maravillosa terminal. Recuerda ⚠️ Puedes unirte a nuestra comunidad de DISCORD en este link 👉discord.gg/gBE3qpuKF3

  • @Maury9414
    @Maury9414 Год назад +1

    Excelente video. Podrias compartir el repositorio para tener como base? Muchas gracias!

    • @elrincondeisma
      @elrincondeisma  Год назад

      Hola! Apoyando el canal tienes acceso a los códigos de los videos

  • @HardwareSoft
    @HardwareSoft Год назад +1

    Hola, en su experiencia ¿Qué tan necesario es crear esa tabla pivot, xq no se hace directamente la relación en los modelos?, saludos

    • @elrincondeisma
      @elrincondeisma  Год назад +1

      Las tablas pivot ayudan a ser algo mas claros

  • @paollarce5137
    @paollarce5137 Год назад +2

    Tienes algun video donde explique como instalarlo ? Me salen cientos de errores al querer instalar laravel y no los encuentro en Internet.

  • @dijhonsdeveloper4785
    @dijhonsdeveloper4785 10 месяцев назад +1

    Buena noche inicialmente GRACIAS, logre terminar el ejercicio, consulta:
    ¿Esta Api la puedo conectar con powerbi, es que necesito conectar un power bi, con un ejercicio similar?

  • @manuelcardona-cu6mx
    @manuelcardona-cu6mx Год назад +1

    una pregunta cual es la extencion que usas para que al copiar te completa todo

  • @ThekamiT
    @ThekamiT Год назад +1

    Hola, tengo una duda, hago lo mismo que el video pero a mi siempre me está respondiendo el json con un prefijo php al inicio.
    Por ejemplo:
    php{
    "message": "",
    "data": [
    {...}
    ]
    }
    Lo cual me genera problema al querer consumirlo desde un fetch en js, por ejemplo.
    Alguien sabe que puedo hacer?

    • @elrincondeisma
      @elrincondeisma  Год назад

      Únete si aún no lo has hecho a nuestra comunidad suscribiéndote a nuestro canal de youtube y uniéndote a nuestro discord:discord.gg/meZU65c67e

  • @walemfly
    @walemfly Год назад +1

    Bro, es posible deployar la rest api en un hosting cotidiano? sin usar heroku o aws?

    • @elrincondeisma
      @elrincondeisma  Год назад +1

      Si totalmente

    • @walemfly
      @walemfly Год назад +1

      @@elrincondeisma muchas gracias lo he conseguido, otra duda recomiendas usar uuid como primary keys, tienes algun video en donde muestres como usarlo? saludos

  • @keffo01
    @keffo01 Год назад

    en el postman, cuando hago get a todos me lista los datos, pero al mandarle un parametro me manda el array vacio, en la ruta show estoy enviando el parametro y tengo el controller justo como en el video, alguna ayuda?

    • @keffo01
      @keffo01 Год назад

      encontré la solución a mi problema por si a mas de alguno le sucede hice lo siguiente:
      clientController : en la funcion show quedo asi :
      public function show($id)
      {
      //
      $client= client::find($id);
      return response()->json($client);
      }
      parecia que no me recibia correctamente el id, o en todo caso que no hacia bien su proceso como isma lo explica, de igual forma, si a alguien le da error en esta parte que el postman no les trae nada al hacer el GET con parametro

    • @elrincondeisma
      @elrincondeisma  Год назад +1

      eso es

  • @Ron-rg4ut
    @Ron-rg4ut 5 месяцев назад

    Una pregunta que será muy tonta supongo: por qué la función show recibe una instancia de la clase Cliente como parámetro? No deberia recibir un id de
    cliente?

    • @elrincondeisma
      @elrincondeisma  5 месяцев назад +1

      Puedes hacer que reciba la instancia de tal manera que ya no tienes que instanciar la variable dentro.

  • @deimarjunior02
    @deimarjunior02 Год назад

    ¿De donde saco esa IA que hace el código?

  • @Andres_Agudelo0101
    @Andres_Agudelo0101 Год назад +1

    al momento de hacer el detach elimina todos los registros de ese cliente con todos los servicios por ese id.
    $client->services()->detach($request->service_id, ['related_id' => $request->id]);
    busque para que solo elimine un solo registro con el id de clients_services osea pasandole 3 parametros, pero aun asi elimina todos los registros por el id_servicio

  • @oshoosho4604
    @oshoosho4604 Год назад +2

    y lo q estaba buscando ... no está en este video. y q era? las validaciones de los campos con sus respectivas respuestas de error en formato json.
    1 hora 12 pa encontrarme con un tipo q me dice "luego lo veremos" y el "luego se convirtió en" "no sé"

    • @elrincondeisma
      @elrincondeisma  Год назад

      Estoy preparando un video de validaciones. En breves estara publicado

  • @joseleonrs9817
    @joseleonrs9817 3 месяца назад +1

    El error de muchos RUclipsrs es que tiran código en una pantalla de alta resolución y cuesta ver los códigos, bien tendríamos buscar una lupa o hacen un zoom 😂 mejor busco otra pagina no vaya ser y quede ciego 😂

    • @elrincondeisma
      @elrincondeisma  3 месяца назад

      La mía por eso mismo es de 1080 para que no se vea enana.
      Intentare hacer mas zoom

    • @joseleonrs9817
      @joseleonrs9817 3 месяца назад

      @@elrincondeisma excelente, es u sugerencia, enfoca el código que es lo interesante en este tipo de videos, no se qué sistema usas pero en Windows es Ctrl(+ -)

  • @armandsanchez1868
    @armandsanchez1868 8 месяцев назад +1

    eres bueno explicando, pero dan tanta vueltas para explicar algo que seguro los que apenas comienzan se pierden completamente en tantos comentarios extras

  • @Esteban5Tael
    @Esteban5Tael 9 месяцев назад +1

    yo lo estuve usando asi, con el with, lo de traer los servicios del cliente:
    public function show(Client $client)
    {
    //

    $client = Client::where('id', '=', $client->id)
    ->with('services')
    ->orderBy('id', 'desc')
    ->get();
    if (!$client) {
    return response()->json([
    'message' => 'Cliente no encontrado'
    ], 404);
    # code...
    }
    $data = [
    'message' => 'Client data',
    'client' => $client,
    ];
    // Retornar los datos
    return response()->json($data, 201);
    }