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
  • 2
    Prerrequisitos

    Prerrequisitos

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

    ¿Qué es una API?

    04:22
  • 4
    ¿Qué es REST?

    ¿Qué es REST?

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

    Creando tu primera API con .NET

    04:04
Funcionamiento de una API en .NET
  • 6
    Consumiendo API desde Postman

    Consumiendo API desde Postman

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

    Análisis del template para APIs de .NET

    10:51
  • 8
    Atributos para verbos HTTP

    Atributos para verbos HTTP

    14:56
  • 9
    Manejo de rutas

    Manejo de rutas

    09:51
  • 10
    Minimal API vs. Web API

    Minimal API vs. Web API

    08:36
Arquitectura y configuración
  • 11
    ¿Qué son los middlewares?

    ¿Qué son los middlewares?

    08:54
  • 12
    Creando un nuevo middleware

    Creando un nuevo middleware

    14:46
  • 13
    Inyección de dependencias

    Inyección de dependencias

    16:43
  • 14
    Agregando Logging a API

    Agregando Logging a API

    09:25
  • 15
    Documentando API con Swagger

    Documentando API con Swagger

    08:03
Manipulación de datos con Entity Framework
  • 16
    Agregando librerías para Entity Framework

    Agregando librerías para Entity Framework

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

    Configuración de Entity framework y clases base

    08:31
  • 18
    Creación de servicios

    Creación de servicios

    12:24
  • 19
    Inyectando servicios como dependencia

    Inyectando servicios como dependencia

    04:43
  • 20
    Creando controladores

    Creando controladores

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

    Probando API con una base de datos SQL server

    14:03
Outro
  • 22
    Retrospectiva: APIs con .NET

    Retrospectiva: APIs con .NET

    03:05
    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 3 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 3 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 Antonio Martínez Cortez

      Edwin Antonio Martínez Cortez

      student•
      hace 3 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