CursosEmpresasBlogLiveConfPrecios

Análisis del template para APIs de .NET

Clase 7 de 22 • Curso de APIs con .NET

Clase anteriorSiguiente clase

Contenido del curso

Introducción a API en .NET

  • 1
    Domina las API con .NET

    Domina las API con .NET

    02:50 min
  • 2
    Prerrequisitos

    Prerrequisitos

    02:36 min
  • 3
    ¿Qué es una API?

    ¿Qué es una API?

    04:22 min
  • 4
    ¿Qué es REST?

    ¿Qué es REST?

    08:18 min
  • 5
    Creando tu primera API con .NET

    Creando tu primera API con .NET

    04:04 min

Funcionamiento de una API en .NET

  • 6
    Consumiendo API desde Postman

    Consumiendo API desde Postman

    05:33 min
  • 7
    Análisis del template para APIs de .NET

    Análisis del template para APIs de .NET

    Viendo ahora
  • 8
    Atributos para verbos HTTP

    Atributos para verbos HTTP

    14:56 min
  • 9
    Manejo de rutas

    Manejo de rutas

    09:51 min
  • 10
    Minimal API vs. Web API

    Minimal API vs. Web API

    08:36 min

Arquitectura y configuración

  • 11
    ¿Qué son los middlewares?

    ¿Qué son los middlewares?

    08:54 min
  • 12
    Creando un nuevo middleware

    Creando un nuevo middleware

    14:46 min
  • 13
    Inyección de dependencias

    Inyección de dependencias

    16:43 min
  • 14
    Agregando Logging a API

    Agregando Logging a API

    09:25 min
  • 15
    Documentando API con Swagger

    Documentando API con Swagger

    08:03 min

Manipulación de datos con Entity Framework

  • 16
    Agregando librerías para Entity Framework

    Agregando librerías para Entity Framework

    04:38 min
  • 17
    Configuración de Entity framework y clases base

    Configuración de Entity framework y clases base

    08:31 min
  • 18
    Creación de servicios

    Creación de servicios

    12:24 min
  • 19
    Inyectando servicios como dependencia

    Inyectando servicios como dependencia

    04:43 min
  • 20
    Creando controladores

    Creando controladores

    11:32 min
  • 21
    Probando API con una base de datos SQL server

    Probando API con una base de datos SQL server

    14:03 min

Outro

  • 22
    Retrospectiva: APIs con .NET

    Retrospectiva: APIs con .NET

    03:05 min
  • Tomar el examen del curso
    • Samuel David Salcedo Enciso

      Samuel David Salcedo Enciso

      student•
      hace 3 años

      Empezando a trabajar en backend para aplicaciones web, este curso es la esencial

      Platzi Team

      Platzi Team

      student•
      hace 3 años

      Análisis del template para APIs de .NET


      Cuando ejecutamos el comando dotnet new webapi el CLI de dotnet nos crea un proyecto listo para ejecutar y realizar pruebas, veamos que contiene este proyecto.

      Untitled
      • Program.cs: Este archivo contiene la clase principal del programa, que es el punto de entrada para la aplicación. También contiene la lógica para iniciar el host de la aplicación y configurar el enrutamiento.
      • Controllers: Este directorio contiene los controladores de la API. Cada controlador es responsable de manejar una o varias solicitudes HTTP y devolver una respuesta.
      • appsettings.json: Este archivo contiene la configuración de la aplicación, como las opciones de conexión a la base de datos y las opciones de configuración personalizadas.
      • Properties: Este directorio contiene información sobre el proyecto, como la información de versión y la información de compilación.
      • Models: Este directorio contiene los modelos de datos utilizados por la API. Los modelos representan los datos que se manejan en la API, como los recursos que se están exponiendo.

      Patron MVC

      MVC es el acrónimo de Model-View-Controller, que es un patrón de arquitectura de software utilizado en desarrollo de aplicaciones. Se utiliza para separar la lógica de negocios, la lógica de presentación y la lógica de control en componentes independientes.

      1. Modelo (Model): Es la capa de datos y lógica de negocios de la aplicación. Se encarga de representar los datos y las operaciones que se realizan sobre ellos.
      2. Vista (View): Es la capa de presentación, se encarga de mostrar los datos al usuario y de recibir su entrada.
      3. Controlador (Controller): Es la capa de control, que se encarga de coordinar las acciones entre el modelo y la vista. Recibe las solicitudes del usuario a través de la vista y actúa sobre el modelo para realizar las acciones necesarias.

      Patron MXC en Nuestra API

      En el template de proyecto *Web API en .NET*, la arquitectura MVC se aplica para separar la lógica de la aplicación en diferentes componentes sin hacer uso de las Vistas:

      1. Modelos: Los modelos representan los datos que se manejan en la API, como los recursos que se están exponiendo. Estos modelos se almacenan en el directorio Models.
      2. Controladores: Los controladores son la capa de control de la aplicación y se encargan de manejar las solicitudes HTTP y devolver las respuestas correspondientes. Los controladores se almacenan en el directorio Controllers.
      3. Vistas: En una API de Web, no hay vistas en el sentido tradicional, ya que no se muestra una interfaz gráfica de usuario. En su lugar, los controladores devuelven datos en formato JSON o XML para su uso por parte de las aplicaciones cliente.
      Héctor Manuel López García

      Héctor Manuel López García

      student•
      hace 3 años

      MVC

      • Model
      • View
      • Controller

      MXC

      • Model
      • Controller
      Andres David Peña Velandia

      Andres David Peña Velandia

      student•
      hace 3 años

      Al momento de poner el comando en la terminal, va a crear la ultima versión disponible del .net, en mi caso me creó la 7.0, entonces el comando para que se cree con la versión requerida es:

      dotnet new webapi --framework net6.0

      Para el caso anterior ya se creará con la versión de .net 6.0

        Carlos Madrigal Ramos

        Carlos Madrigal Ramos

        student•
        hace 3 años

        Muy probablemente con .Net 7 te funcine sin problemas. Debes tener en cuenta la version que estas usando a la hora de instalar paquetes.

        kevin adonias quiej yancoba

        kevin adonias quiej yancoba

        student•
        hace 2 años

        cuando haces esto por defecto, el CLI de .NET se configura a la versión 7 mofificando el SDK globalmente, si tienes este problema, mira las versiones del SDK instalados en tu maquina y Migra a la version 6 con este comando :

        <dotnet new globaljson --sdk-version 6.0.413>

        de esta manera volveras a la version 6 y podras crear tus aplicaciones en .NET 6 nuevamente.

      Andrea Ruíz

      Andrea Ruíz

      student•
      hace 4 años

      Sin fijarme estoy trabajando con NET 5. Una pregunta, con NET 6 porque ya no se crea el startup.cs?

        Miguel Teheran

        Miguel Teheran

        teacher•
        hace 4 años

        Se unificaron para simplificar el código usando las ultimas mejoras de C#. La idea de .NET es moverse hacia lo simple y de esta manera sea adoptado por nuevos desarrolladores

        EDWIN MARTÍNEZ

        EDWIN MARTÍNEZ

        student•
        hace 4 años

        Use the new minimal hosting model

        Según Microsoft es una mejora agregada a la plantilla de aplicaciónes web NET 6

        Unificar Startup.cs y Program.cs en un solo archivo Program.cs

      Gabriel Antonio Vallejo Loaiza

      Gabriel Antonio Vallejo Loaiza

      student•
      hace 3 años

      Buen dia, y la configuracion de iissetting que significa cada opcion?

        Miguel Teheran

        Miguel Teheran

        teacher•
        hace 3 años

        "iisSettings": { "windowsAuthentication": false, // si se utilizará autenticación de windows "anonymousAuthentication": true, //habilita autenticación anonima "iisExpress": { "applicationUrl": "localhost:27447", // URL base cuando inicie "sslPort": 44338 // puerto para HTTPs }

      J Maycol Valencia

      J Maycol Valencia

      student•
      hace un año

      Si estas usando .NET 8 y no te aparece por defecto el link con protocolo https , puedes usar el comando :

      dotnet run --launch-profile https

      para cargar la configuración del protocolo.

      Brian Molina

      Brian Molina

      student•
      hace 3 años

      El patron es :

      • Model = Datos

      • View = interfaz de usuario

      • Controller= lógica

      pero el template del API omite la vista y solo genera

      • Model = Datos

      • Controller= lógica

      Jose Luis Ayala Pinto

      Jose Luis Ayala Pinto

      student•
      hace 2 años

      No sé si es por el tiempo, pero ya no genera la carpeta de controllers.

        Eduardo Alejandro Vázquez Olvera

        Eduardo Alejandro Vázquez Olvera

        student•
        hace 2 años

        Yo tambien observe lo mismo y la sintaxis del archivo .cs tambien cambia

        Wilson Bienvenido Otaño Mateo

        Wilson Bienvenido Otaño Mateo

        student•
        hace un año

        Eso es porque ahora por defecto crea un minimal API en lugar de un full API, en clases posteriores (3 clases mas) se muestra la diferencia entre minimal y full api, en efecto hacen lo mismo

      Hans González

      Hans González

      student•
      hace 3 años

      En esta parte es importante para conocer un buen backend segun en este modelo. Con la api podemos crear toda la logica abstracta pero la parte de vista podemos hacer rest con otras framework para consumir las respuestas

      Junier Ayala Perez

      Junier Ayala Perez

      student•
      hace 2 meses

      Recomendaría usar Visual Studio directamente si lo tienes instalado ya que este esta específicamente optimizado para trabajar c#

      Jorge Luis Paiva Huamán

      Jorge Luis Paiva Huamán

      student•
      hace 2 años

      Un API desarrollado en net6 podria ser ejecutado sólo con net 7?

        Miguel Teheran

        Miguel Teheran

        teacher•
        hace 2 años

        .NET es retro compatible enotnces las versiones posteriores de .NET pueden c´doigo que este apuntando a versiones anteriores del framework

      Carlos Andrés Castro Moreno

      Carlos Andrés Castro Moreno

      student•
      hace 3 años

      Una pregunta, tengo entendido que estas AIP's se pueden consumir tambien desde aplicaciones de escritorio creadas com XAML, existe algun material que me recomienden sobre el tema? Muchas gracias. ;)

        Miguel Teheran

        Miguel Teheran

        teacher•
        hace 3 años

        La idea es .NET es utiliza la librería HttpClient para llamar cualquier API, es la misma que se usa en cualquier tecnología sea blazor, ASP .NET etc... aca un ejemplo con WPF que son las apps que usan XAML https://www.c-sharpcorner.com/article/crud-web-api-service-call-function-in-wpf-application/

      Arturo Ventura Martínez

      Arturo Ventura Martínez

      student•
      hace 2 años

      segun chatgpt si existe la "vista" en web api. alguien me saca de la duda xd

      En el contexto de un servicio REST, la "vista" no se refiere necesariamente a una interfaz de usuario como lo haría en una aplicación web MVC tradicional. En su lugar, la vista en un servicio REST podría interpretarse como la representación de los datos que se envía como respuesta a una solicitud HTTP. Esto puede ser JSON, XML u otro formato.

        ROMMEL DUAREZ SAENZ

        ROMMEL DUAREZ SAENZ

        student•
        hace 2 años

        son 2 interpretaciones diferentes de vista

      Rubian Esteban Ruiz Ospina

      Rubian Esteban Ruiz Ospina

      student•
      hace 2 años

      La vista de una REST es el DTO, no?

        Giovanni Alzate

        Giovanni Alzate

        student•
        hace 2 años

        Los DTOS Son capas que encapsulan los datos del Modelo, por ejemplo muchas veces no le queremos mostrar todos los datos de un servidor a un usuario lo cual lo encapsulamos en dtos

      Juan Fonseca

      Juan Fonseca

      student•
      hace 3 meses

      Realmente este template cumple con MVC ya que usa swagger, el cual cumple el rol de vista :P

      Javier Serrano Beltrán

      Javier Serrano Beltrán

      student•
      hace un año

      Hola,

      Recientemente (Septiembre 2024) realicé el curso, mi máquina tenía instalado .Net 8.0 y el comando

      dotnet new webapi ```No cargó la estructura MXC, asi que intenté hacerlo con versiones anteriores de net y funcionó, quedó así:&#x20; ```js dotnet new webapi --framework net7.0 ```Ahí cargó tal cuál lo está mostrando el profesor. De hecho en la versión Net 8.0 dice que la librería: Microsoft.AspNetCore.Mvc está obsoleta. Cordial saludo
      Camilo Velasco Rueda

      Camilo Velasco Rueda

      student•
      hace un año

      no me creo la carpeta de controladores

      Antonio García

      Antonio García

      student•
      hace 2 años
      Antonio García

      Antonio García

      student•
      hace 2 años

    Escuelas

    • Desarrollo Web
      • Fundamentos del Desarrollo Web Profesional
      • Diseño y Desarrollo Frontend
      • Desarrollo Frontend con JavaScript
      • Desarrollo Frontend con Vue.js
      • Desarrollo Frontend con Angular
      • Desarrollo Frontend con React.js
      • Desarrollo Backend con Node.js
      • Desarrollo Backend con Python
      • Desarrollo Backend con Java
      • Desarrollo Backend con PHP
      • Desarrollo Backend con Ruby
      • Bases de Datos para Web
      • Seguridad Web & API
      • Testing Automatizado y QA para Web
      • Arquitecturas Web Modernas y Escalabilidad
      • DevOps y Cloud para Desarrolladores Web
    • English Academy
      • Inglés Básico A1
      • Inglés Básico A2
      • Inglés Intermedio B1
      • Inglés Intermedio Alto B2
      • Inglés Avanzado C1
      • Inglés para Propósitos Específicos
      • Inglés de Negocios
    • Marketing Digital
      • Fundamentos de Marketing Digital
      • Marketing de Contenidos y Redacción Persuasiva
      • SEO y Posicionamiento Web
      • Social Media Marketing y Community Management
      • Publicidad Digital y Paid Media
      • Analítica Digital y Optimización (CRO)
      • Estrategia de Marketing y Growth
      • Marketing de Marca y Comunicación Estratégica
      • Marketing para E-commerce
      • Marketing B2B
      • Inteligencia Artificial Aplicada al Marketing
      • Automatización del Marketing
      • Marca Personal y Marketing Freelance
      • Ventas y Experiencia del Cliente
      • Creación de Contenido para Redes Sociales
    • Inteligencia Artificial y Data Science
      • Fundamentos de Data Science y AI
      • Análisis y Visualización de Datos
      • Machine Learning y Deep Learning
      • Data Engineer
      • Inteligencia Artificial para la Productividad
      • Desarrollo de Aplicaciones con IA
      • AI Software Engineer
    • Ciberseguridad
      • Fundamentos de Ciberseguridad
      • Hacking Ético y Pentesting (Red Team)
      • Análisis de Malware e Ingeniería Forense
      • Seguridad Defensiva y Cumplimiento (Blue Team)
      • Ciberseguridad Estratégica
    • Liderazgo y Habilidades Blandas
      • Fundamentos de Habilidades Profesionales
      • Liderazgo y Gestión de Equipos
      • Comunicación Avanzada y Oratoria
      • Negociación y Resolución de Conflictos
      • Inteligencia Emocional y Autogestión
      • Productividad y Herramientas Digitales
      • Gestión de Proyectos y Metodologías Ágiles
      • Desarrollo de Carrera y Marca Personal
      • Diversidad, Inclusión y Entorno Laboral Saludable
      • Filosofía y Estrategia para Líderes
    • Diseño de Producto y UX
      • Fundamentos de Diseño UX/UI
      • Investigación de Usuarios (UX Research)
      • Arquitectura de Información y Usabilidad
      • Diseño de Interfaces y Prototipado (UI Design)
      • Sistemas de Diseño y DesignOps
      • Redacción UX (UX Writing)
      • Creatividad e Innovación en Diseño
      • Diseño Accesible e Inclusivo
      • Diseño Asistido por Inteligencia Artificial
      • Gestión de Producto y Liderazgo en Diseño
      • Diseño de Interacciones Emergentes (VUI/VR)
      • Desarrollo Web para Diseñadores
      • Diseño y Prototipado No-Code
    • Contenido Audiovisual
      • Fundamentos de Producción Audiovisual
      • Producción de Video para Plataformas Digitales
      • Producción de Audio y Podcast
      • Fotografía y Diseño Gráfico para Contenido Digital
      • Motion Graphics y Animación
      • Contenido Interactivo y Realidad Aumentada
      • Estrategia, Marketing y Monetización de Contenidos
    • Desarrollo Móvil
      • Fundamentos de Desarrollo Móvil
      • Desarrollo Nativo Android con Kotlin
      • Desarrollo Nativo iOS con Swift
      • Desarrollo Multiplataforma con React Native
      • Desarrollo Multiplataforma con Flutter
      • Arquitectura y Patrones de Diseño Móvil
      • Integración de APIs y Persistencia Móvil
      • Testing y Despliegue en Móvil
      • Diseño UX/UI para Móviles
    • Diseño Gráfico y Arte Digital
      • Fundamentos del Diseño Gráfico y Digital
      • Diseño de Identidad Visual y Branding
      • Ilustración Digital y Arte Conceptual
      • Diseño Editorial y de Empaques
      • Motion Graphics y Animación 3D
      • Diseño Gráfico Asistido por Inteligencia Artificial
      • Creatividad e Innovación en Diseño
    • Programación
      • Fundamentos de Programación e Ingeniería de Software
      • Herramientas de IA para el trabajo
      • Matemáticas para Programación
      • Programación con Python
      • Programación con JavaScript
      • Programación con TypeScript
      • Programación Orientada a Objetos con Java
      • Desarrollo con C# y .NET
      • Programación con PHP
      • Programación con Go y Rust
      • Programación Móvil con Swift y Kotlin
      • Programación con C y C++
      • Administración Básica de Servidores Linux
    • Negocios
      • Fundamentos de Negocios y Emprendimiento
      • Estrategia y Crecimiento Empresarial
      • Finanzas Personales y Corporativas
      • Inversión en Mercados Financieros
      • Ventas, CRM y Experiencia del Cliente
      • Operaciones, Logística y E-commerce
      • Gestión de Proyectos y Metodologías Ágiles
      • Aspectos Legales y Cumplimiento
      • Habilidades Directivas y Crecimiento Profesional
      • Diversidad e Inclusión en el Entorno Laboral
      • Herramientas Digitales y Automatización para Negocios
    • Blockchain y Web3
      • Fundamentos de Blockchain y Web3
      • Desarrollo de Smart Contracts y dApps
      • Finanzas Descentralizadas (DeFi)
      • NFTs y Economía de Creadores
      • Seguridad Blockchain
      • Ecosistemas Blockchain Alternativos (No-EVM)
      • Producto, Marketing y Legal en Web3
    • Recursos Humanos
      • Fundamentos y Cultura Organizacional en RRHH
      • Atracción y Selección de Talento
      • Cultura y Employee Experience
      • Gestión y Desarrollo de Talento
      • Desarrollo y Evaluación de Liderazgo
      • Diversidad, Equidad e Inclusión
      • AI y Automatización en Recursos Humanos
      • Tecnología y Automatización en RRHH
    • Finanzas e Inversiones
      • Fundamentos de Finanzas Personales y Corporativas
      • Análisis y Valoración Financiera
      • Inversión y Mercados de Capitales
      • Finanzas Descentralizadas (DeFi) y Criptoactivos
      • Finanzas y Estrategia para Startups
      • Inteligencia Artificial Aplicada a Finanzas
      • Domina Excel
      • Financial Analyst
      • Conseguir trabajo en Finanzas e Inversiones
    • Startups
      • Fundamentos y Validación de Ideas
      • Estrategia de Negocio y Product-Market Fit
      • Desarrollo de Producto y Operaciones Lean
      • Finanzas, Legal y Fundraising
      • Marketing, Ventas y Growth para Startups
      • Cultura, Talento y Liderazgo
      • Finanzas y Operaciones en Ecommerce
      • Startups Web3 y Blockchain
      • Startups con Impacto Social
      • Expansión y Ecosistema Startup
    • Cloud Computing y DevOps
      • Fundamentos de Cloud y DevOps
      • Administración de Servidores Linux
      • Contenerización y Orquestación
      • Infraestructura como Código (IaC) y CI/CD
      • Amazon Web Services
      • Microsoft Azure
      • Serverless y Observabilidad
      • Certificaciones Cloud (Preparación)
      • Plataforma Cloud GCP

    Platzi y comunidad

    • Platzi Business
    • Live Classes
    • Lanzamientos
    • Executive Program
    • Trabaja con nosotros
    • Podcast

    Recursos

    • Manual de Marca

    Soporte

    • Preguntas Frecuentes
    • Contáctanos

    Legal

    • Términos y Condiciones
    • Privacidad
    • Tyc promociones
    Reconocimientos
    Reconocimientos
    Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
    Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
    Logo reconocimientoPrimera Startup EdTech · 2018
    Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
    Logo reconocimientoCEO Mejor Emprendedor del año · 2024
    De LATAM conpara el mundo
    YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads