Transcripciones
1. Introducción: Oigan chicos, quería tomarme este tiempo para darles la bienvenida a este nuevo curso, último ASP.Net cinco web API Development Guide. Ahora, es tipo es un bots múltiples. Te puedo asegurar el contenido vidas más cortas hasta el edificio. En este curso, aprenderás a crear una API web mantenible usando ASP.Net five, que es la última y más grande y Microsoft y desarrollo pegado Entity Framework. Y exploraremos muchos patrones de diseño a nivel empresarial en consideraciones a la hora de diseñar y API. Yo soy tu instructor para este curso. Mi nombre es cierto. ¿Quiénes son Williams? Soy ingeniero de software y conferenciantes de medio tiempo. Exploremos qué es una API, las letras AP e IR,
abreviatura de Application Programming Interface. Prácticamente una API es una interfaz de software que actúa como intermediario entre dos aplicaciones. Entonces digamos que puedes acceder a
funcionalidades como Facebook desde una app que no es una app de Facebook. Por lo que esto tiene la parte superior a Facebook y te permiten hacer cosas en vivo de facebook. Bueno, eso es comunicarse con Facebook a través de una API. lo que en este curso, aprenderemos a construir ese tipo de interfaz para permitir las personas accedan a un data store subyacente que estaremos construyendo. uso de la funcionalidad que estaremos construyendo son el uso de clientes que necesitarán construir, ya sea para un móvil o web o cualquier otro tipo de dispositivo. Por lo que las API o al menos el tipo de API que estaremos construyendo se basan en los principios del resto. Por lo que vamos a aprender muñeca y detenido corto por traslado estatal representacional. Es un estándar API web muy popular y se utiliza en muchas plataformas. Entonces, aunque estaremos construyendo la API usando.net core, la API puede ser consumida por clientes de muchas otras pilas de desarrollo. Además de esto, estaremos aprendiendo a usar Dominic core cinco, estaremos buscando entender los servicios y oh, todo
el flujo de aplicaciones funciona. Y también estaremos buscando usar más caliente a nivel empresarial. Entonces las mejores prácticas que podemos poner en el código de tal manera que cuando estemos listos para expandirnos, ya sea a través de nuestro propio autodescubrimiento o en un entorno empresarial. No tendremos que sacar demasiado de nuestra aplicación para hacer eso. Bueno, sólo podemos tocar los componentes a medida que avanzamos. Entonces en pocas palabras, vas a aprender ASP.Net five y Entity Framework forward wind para estar usando quote en primer lugar, es increíble desarrollo y exploración. Una vez más, los patrones de codificación clave estarán buscando autenticación
API usando los tokens web JSON son JWT para corto recorrido, podemos protegerlos más altos que nuestros endpoints y
protegerlos de accesos no autorizados o no deseados. Miraremos a entender la tubería de servicio core Dark Net y todo lo que
podamos ampliarlos y poner en nuestro propio middleware, tener mirando las pruebas de API y el registro sobrio usando Postman y serial out para nuestras pruebas API y con fines de registro respetuosamente, y también estaremos mirando todo el swagger puede jugar un papel en documentar nuestra API y también ayudar con el control artístico de fuentes. Estaremos usando GitHub para que podamos almacenar
o codificar de forma segura y poder retroceder en caso de que necesitemos hacerlo. Y luego miramos, después de construir sobre todas estas cosas maravillosas, cómo exactamente permitimos que se acceda a nuestra API, ya sea en un entorno de empresa o por el Mundo. Ahora bien, este curso tiene principios tranquilos de alguien. Tiene unas diez horas de duración y vas a estar aprendiendo muchas cosas. Entonces a bulkload, prepárate para este viaje y estoy muy emocionado de tenerte junto.
2. Instala Visual Studio 2019 de comunidad y . Net 5 SDK: Oigan chicos, hoy vamos a empezar con la instalación Visual Studio Community Edition y.net cinco. Ahora nuestro viaje comienza aquí en el sitio web de Visual Studio, que puedes llegar a través de una simple búsqueda en Google. O puedes intentar reproducir esta URL, que es Visual Studio dot microsoft.com slash VS slash community. Ahora hay diferentes adiciones de Visual Studio. Y la comunidad es la que es, es gratuita para uso individual y esa es la que vamos a utilizar. Para que puedas seguir adelante y descargar Visual Studio, que te dará el Instalador de Visual Studio. Y una vez que eso se complete, podemos seguir adelante y ejecutar ese archivo. Lanzaremos los puntos de control de seguridad que pudiera tener, pero puede proceder a permitir que comience el instalador. Y todo esto es donde realmente se define de qué será capaz Visual Studio. Por lo que estas se denominan cargas de trabajo, y cada carga de trabajo le expondrá un conjunto de características diferente. Por lo que para el desarrollo web, querrás obtener la carga de trabajo de ASP.Net y desarrollo web. Para el desarrollo de escritorios. Se desea obtener el desarrollo de net desktop o subir. Y para cualquier otro SDK o tipo de proyecto que tal vez desee desarrollar, puede seguir adelante y obtener la carga de trabajo asociada con él. No, para este ejercicio, queremos preparar nuestro estudio de resultados con los recursos necesarios para el desarrollo web. Una vez más, puedes seguir adelante y tomar la mayor cantidad de estas cargas de trabajo. Cada una vendrá con su propio tamaño y te dice cuánto espacio se requiere en función de los que selecciones. Pero como mínimo para el desarrollo web, quieres asegurarte de tener ASP.Net y desarrollo web ticked. Puedes seguir adelante y tomar las otras herramientas de desarrollo si lo deseas. Pero no estoy dispuesto a hacer eso porque estos son all.net framework 644.84.6, lo siento, 4.74.8. Pero vamos a estar instalando el documento cinco en unos minutos para que puedas seguir adelante y hacer esto y dejar que Visual Studio se instale. Esto tomará un tiempo para que puedas tomar una taza de café y volver. Ahora una vez que se complete esa descarga e instalación, tienes dos opciones. Puedes seguir adelante e iniciar sesión. Y firma lo que significa que inicias sesión con tus conos vivos. Si tienes uno, si no, entonces adelante y crea uno. Es gratis y hace la vida más fácil si solo creas uno y realmente inicias sesión. Pero sólo voy a seguir adelante con una opción no nula quizá más tarde. Y luego eliges tu configuración general. Entonces enciendo el tema oscuro y puedes elegir lo que quieran, qué configuración de desarrollo o general. Simplemente dejaré el mío en general, pesar de que estamos haciendo qué desarrollo. Pero básicamente solo optimizan ciertos atajos de teclado y el diseño en función de tu selección. Dejaré el mío en general. Empezaré con Visual Studio. De acuerdo, así que una vez que eso se haga, te van a impulsar con esta nieve. Si no consigues esto, entonces está bien. Pero aquí la razón por la que te hubiera sugerido que inicies sesión con sus conos de vida porque entonces todo lo que tienes un periodo de prueba de 30 días. Y si no quieres la parte superior del cono, entonces básicamente te dirán que salgas. Por lo que en realidad puedes simplemente seguir adelante e iniciar sesión. Por lo que sólo voy a iniciar sesión con los míos. Y una vez que lo hayas firmado y luego verás que no te
tiene licencia y solo parece presentar más acogedor. Entonces ahora en lugar de salir de Visual Studio, puedo cerrar. Y este es Visual Studio en el nivel muy básico. Ahora tenemos Visual Studio. Lo que también necesitamos es.net cinco. que puedas llegar a la página de descargas de cinco redes a través de una simple búsqueda en Google una vez más. O intentas reproducir esta URL, cualquiera que encuentres más fácil de hacer. En este punto, se desea descargar el SDK y el tiempo de ejecución. Entonces déjame empezar por cerrar Visual Studio porque necesita instalar extensiones para ello. Y el instalador siempre está disponible para ti. Entonces si no agregas una carga de trabajo, solo para que lo
sepas, en realidad puedes simplemente hacer clic en modificar y luego relanzar ese pH con todo lo que diría el trabajador si más adelante quieres que haga algo nuevo, solo
necesitas modificar esa carga de trabajo luego obtendrás esas Plantillas de Proyecto en consecuencia. Voy a cerrar Visual Studio, sin embargo, para que podamos continuar con nuestras instalaciones. Por lo que vamos a conseguir el.net cinco. Ahora puedes ver que los SDK disponibles en función de tu sistema operativo, tengo un sistema operativo Windows de 64 bits trabajando con retinal, así que seguiré adelante y descargaré eso. Y mientras ese se está descargando y solo Lindsay pulsa el botón Atrás y pasa al tiempo de ejecución, lo cual es absolutamente necesario para el hosting. Entonces ves que es el soporte en tiempo de ejecución. Entonces si vas a estar hospedando la aplicación.net cinco en, en un servidor local, entonces definitivamente necesitas el tiempo de ejecución. Por lo que solo puedes obtener este paquete de hosting que tienen ahí disponible para su descarga. Por lo que solo puedes descargar ambos y cuando ambos estén terminados. Entonces, cuando terminen los SDK, puedes seguir adelante e instalar ese 1 primero. No debería tardar demasiado. Y está bien, así que es exitoso. Después de haber instalado el SDK, entonces solo queremos asegurarnos de que tenemos ahí tiempo propio. También acepte cualquier cosa, y adelante y ejecute su instalación. Y te avisará cuando se complete con éxito, sepan que tenemos el SDK está completamente instalado. Solo quería lanzar Visual Studio y mostrarte lo que obtienes con esos SDK. Entonces si sigo adelante y creo un proyecto totalmente nuevo por las cargas de trabajo que tengo a mi disposición, veré diferentes plantillas de proyecto. Por lo que sólo elegí el nodo de trabajador web. Por lo que tengo la capacidad de hacer una consola regular arriba. Tengo el núcleo ASP.Net. De hecho, creo que éste viene por la carga de trabajo de escritorio, pero en este punto no estoy tratando de averiguar qué funcionó, quién pertenecería a cuál. Sólo tienes que saber que si vas a estar haciendo nuestro proyecto web, tienes la opción de elegir una aplicación web core, una aplicación blazer, y puedes elegirlos si no vas a hacer para el framework R.net, alguien para elegir una.net Core aplicación Web. Esta no es la aplicación real que estamos construyendo. Solo te estoy mostrando tus opciones. Entonces vamos adelante y ponemos el nombre del proyecto podría crear. Entonces, de la lista desplegable aquí, puedes elegir si quieres un Core 2.13.1 o el último dominate core 5. Y con eso, podrás elegir las diferentes plantillas y proceder. Entonces, cuando volvamos, realmente
crearemos un proyecto y haremos un recorrido fuera de las estructuras de carpetas.
3. ACTUALIZación: instala Visual Studio 2022 Community Edition y . Redes 6: Oigan chicos. En esta lección estaremos instalando Visual Studio 2022, que se envía con dotnet six, que es el dotnet más rápido hasta la fecha. Entonces para empezar, solo
necesitamos ir a las descargas de Visual Studio dot Microsoft.com slash. Y luego vamos a seguir adelante y golpear la descarga gratuita en la edición de la comunidad, que luego nos dará un instalador. Por lo que una vez que
ejecutemos ese instalador, podremos seleccionar las cargas de trabajo que queramos. Las cargas de trabajo realmente se refieren a las bibliotecas o a las bibliotecas
de
soporte para el tipo de hasta que te interesa crear. Entonces en este caso, definitivamente queremos conseguir ese desarrollo
web ASP.Net en carga de trabajo de desarrollo web. Pero entonces si te interesan otras tecnologías, puedes seguir adelante y seleccionarlas. Para que veas que tengo varias cargas de trabajo seleccionadas con desarrollo de Azure, NodeJS y desarrollo de escritorio. Para que puedas seguir adelante y dividirlos también. Creo que van a venir muy bien con otros proyectos que podrías terminar construyendo todo en general, una vez que hayas hecho eso, puedes seguir adelante y golpear Instalar, lo cual se haría por la esquina inferior derecha. Por supuesto, cuantas más cargas de trabajo
selecciones es mayor será el tamaño de la descarga. Entonces una vez que hayas completado eso, entonces puedes continuar. Ahora cuando termine esa descarga, es posible
que obtengan ciertas opciones que no
voy a conseguir porque ya la tengo instalada. Entonces esto te guiará a través de lo que espero? Podrás obtener una opción donde llegues a elegir tu tema. Como puedes ver, estoy usando el tema oscuro, pero entonces sí tienes la opción de un tema claro, un tema azul. Y la cosa es que Visual Studio 22 tiene muchos más temas que sus predecesores. Por lo que aunque no quieras encender los temas iniciales, puedes conseguir todos los temas si los necesitas. Además, es posible que se te pida que inicies sesión. Entonces si ya tienes 2019 instalado en tu máquina y acabas de instalar en 2022, ya
iniciaste sesión en 2019, entonces probablemente no te pedirá que vuelvas a iniciar sesión. No obstante, si esta es tu primera instalación de Visual Studio, posible
que se te pida que inicies sesión o crea una cuenta en vivo, que punto te gustaría solo usar tu Microsoft emitida en vivo en todos los loci me enseñan un mucho conos com, o simplemente puedes seguir adelante y crear uno. Y si yo si mi memoria me sirve correctamente, puedes usar otra dirección de correo electrónico que no sea de Microsoft, secreta saliva, frío.
4. Configuración de la cuenta GitHub: Hey chicos, en este video estaremos creando o cuentas de GitHub. Y esta es una cosa realmente simple, envejece, hace que sea muy fácil para nosotros inscribirnos. Solo necesitas ir a Github.com. Hace GIT HUB DOT COM, github.com, y aterrizarás en esta página. Ahora desde aquí, si ya tienes una cuenta y puedes iniciar sesión y prácticamente puedes dejar de ver el video aquí. Si no lo haces. No obstante, entonces la forma central está justo aquí. Puedes hacer un poco de lectura, solo consigue una apreciación de lo que GitHub es cuatro y se trata de todo, sí
tienen precios, por lo que sí ofrecen planes
empresariales y planes de educación y diferentes plantas o situaciones diferentes . Pero para el desarrollador solar o para equipos
muy pequeños que pueden no ser de nivel empresarial de lo que lo hacen. Te doy mucho gratis. Por lo que para
inscribirte, solo necesitas poner un nombre de usuario y dirección de correo electrónico y una contraseña. Y una vez que hayas proporcionado todas esas cosas y siempre que tu nombre de usuario sea lo suficientemente único, por
supuesto, entonces haces clic en inscribirte en GitHub y deberías estar dentro. Entonces ya tengo una cuenta, así que de verdad sólo voy a iniciar sesión. Viste que mis cejas se están volviendo locas tratando de proporcionar información. Por lo que sólo voy a iniciar sesión con mi cuenta existente. Entonces ese es mi pozo, puedes usar tu nombre de usuario o direcciones de correo electrónico para iniciar sesión y la contraseña. Y aquí estoy, esta es mi página de aterrizaje, así que en realidad te dan un sentido de comunidad. Es casi como un Facebook para desarrolladores hasta cierto punto, puedes seguir a la gente. Y una vez que están siguiendo a la gente, ves sus actividades en la página de aterrizaje, puedes saltar a tu repositorio. Entonces obviamente si eres nuevo en levantarte, entonces no tendrías nada listado a un lado aquí. De lo que no soy nuevo. He estado bastante ocupado poniendo contenido en YouTube, casi cualquier pequeño proyecto de mascota que es que empiezo, tengo un repositorio de GitHub o en realidad necesito ir a través de él. Entonces y también he tenido alumnos que me agreguen a su descanso en el pasado para que pudiéramos colaborar. A lo mejor estaban teniendo un problema y solo pude verificar su código a través del repositorio. Todas esas cosas son posibles a través de esta foto verbal. Pero una vez que has creado tus conos y estás registrado y bueno, obviamente no verías lo que estoy viendo una vez más. Pero entonces eso completaría la suscripción.
5. Instalar y explorar PostMan: Hey chicos, en este video vamos a estar instalando cartero o porcelana es una excelente herramienta para la colaboración y pruebas APA y validación en todas esas cosas maravillosas. Por lo que es bastante fácil de instalar realmente. Sólo tienes que ir a pausar man.com. Cartero hace luz Luca que entrega tu correo, Horstmann.com. No conoces el up. Y por supuesto que eliges tu aceite. Entonces Windows de 64 bits, y luego comienza la descarga. De acuerdo, así que una vez finalizada esa descarga, puedes seguir adelante y abrir el archivo de instalación, ejecutar el instalador. Está bien, entonces cuando esté terminado, bien
verás una pantalla que te pide que te inscribas o que inicies sesión, o verás esta pantalla de cualquier manera, si ves algo para iniciar sesión, te animaría a hacerlo. En realidad lo tenía ya en mi máquina. Por lo que el flujo puede no ser exactamente así. Pero si ves que esta página aparece, entonces está bien. Simplemente puedes hacer clic en la X y puedes quitártela. Y no estoy firmado de todos modos. Entonces si sí ves que el fuera de pantalla luce algo como esto, entonces solo puedes seguir adelante y crear un conos solubles. Pueden crear un OK conos con bastante facilidad nombre de usuario, contraseña, o simplemente inicia sesión con Google. A mí me gusta simplemente iniciar sesión con Google. Y la cosa es que el analizador mantendrá un historial de cada prueba a la que has ido una vez que tendrás en los conos arriba. De acuerdo, así que solo voy a seguir adelante e iniciar sesión con Google. O está encendido. Una vez que hayas iniciado sesión, entonces sabes que puedes empezar a trabajar. Entonces sólo les voy a mostrar una muestra de lo que Cartero es capaz. En primer lugar, voy a sugerir que es un modo oscuro porque el modo es genial. Y luego voy a crear una nueva ventana de solicitud. Por lo que usando este signo más, igual que cualquier navegador con los signos más en la parte superior puedes ver un signo más, y eso te da una nueva solicitud. Ahora ya me adelanté y busqué algunas API públicas,
como discutimos, API base tiene que ganar nuestra puerta de enlace a tu base de datos. Por lo que la gente tiene API, varias personas tienen API. Y encontré este sitio web cualquier dash api.com. Y solo triángulo volver al primer bit para que veas lo que tienen para ofrecer. Entonces desde la página de destino, los compañeros te emiten un montón de API de cara pública. Entonces vas, solo puedes seguir adelante y hacer clic en uno y, ya
sabes, probarlo. Entonces pasé al diccionario Oxford uno donde conseguiría una lista de idiomas. Entonces te muestran todos los puntos finales, ¿verdad? Por lo que en la construcción de toda la API, se vinculan a la base de datos shore dab, una URL común, pero luego tienen diferentes endpoints que darán diferentes bits de información. Y luego tienen diferentes métodos, GET y publicar y posponer cualquiera de otros. Pero el hecho es que hay que conocer el tipo de solicitud. Tienes que conocer la URL a través de la cual puedes conseguir que esa solicitud quede satisfecha. Tienes que saber si tienes que pasar en encabezados. Entonces aquí sé que necesito aplicaciones. Y DNI. Y luego me muestran las respuestas. Por lo que 200 significa o, t, y los hombres iniciales ejemplifican en JSON cuál sería esa respuesta. Y entonces 404 significa no encontrado. 500 significa que hay un error interno por lo general con el servidor doméstico, no contigo, ¿verdad? Entonces para Musa, probablemente estés buscando algo que no exista. 500 significa que el proveedor de API tiene un error. De acuerdo, así que cambié de cualquier API y quería gratis, para forex api dot cottons gratis, lo siento, así que eché un vistazo más de cerca a cualquier URL API ya que se requiere todas esas API, que tendrías aire caliente no conos B, nuestra usuario registrado probablemente siendo usuario fuera de esas plataformas se puede mirar a través, ve Instagram es un YouTube, Google. La mayoría de esas son API pronosticadas, por lo que están usando así mamá auto security o la poseían. Y vamos a pasar por todas esas técnicas en este curso. Pero ahora solo quiero empezar con una victoria rápida y satisfacción de ver qué cartero puede hacer y la relevancia de ello, ¿verdad? Por lo que llamé gratis forex api.com, justo de nuevo para parar eso está en gratis para api.com. Y luego iremos con la documentación para que la página de aterrizaje sea en realidad su demo de ellos consumiendo los datos a través de la API que están exponiendo, ¿verdad? Por lo que tienen una API integrada de base de datos. Y luego el, están haciendo una serie de llamadas
API para mostrar el índice de trading entre euro, USD que eres y GBP, etcétera, etcétera. Entonces si voy a la documentación, me
darán las Condiciones de Uso, dime cómo usarla. Por lo que la documentación es
muy, muy importante y vital cuando se trata de las API, estaré usando la interfaz de usuario del clasificador swagger a nuestra vocal swash. Cuando lleguemos allí, ya verás, pero nos estaremos centrando en documentar nuestras API en gran medida también. Entonces desde aquí te muestran que tienes el,
ese es el dominio en el que está alojada la API, ¿verdad? Y luego a medida que te
desplazas hacia abajo, verás los diferentes tipos de funcionalidad que expusieron. Entonces esa es una buena calificación beta, ¿verdad? Y luego me dicen la petición, es una solicitud GET. Y luego tienes el, el, los endpoints, lo siento, la URL y el endpoint, eso es lo que necesita lucir. Y esta es una respuesta sampler. Está bien, y si miras a través, ves otro. Puedes conseguir diferentes compañeros. Entonces aquí mismo te vas a buscar, él será euro-USD E1 y el retorno que los resultados de esa consulta para ti. Y luego en este, puedes conseguir más de uno si quieres. Por lo que solo pones en ambos índices que te interesan como el parámetro en ese endpoint. De acuerdo, así que esa es una cadena de consulta para los valores en los que están las consultas. Y entonces esta es la respuesta de la API. Una vez que esas consultas son un dato NDA se llama. No, los acordes de flecha cuentan una buena historia porque luego pasas a periodos que no existen en su sistema de lo que te están diciendo que si no pasas en ningún escenario se requiere y si pasas en algo eso no está ahí, entonces verás un código de error 102. Entonces tienes códigos de error estándar y tienes algunos milagros. Tú mismo puedes hacer. Probemos esta muestra. Entonces voy a probar la primera en la que estoy sacando euro y USD. Entonces sólo voy a copiar este enlace, que dijeron, eso es todo lo que se llega a los datos de este punto final. Y luego voy a abrir Cartero. Y entonces lo que voy a hacer es perforarlo dentro de este conjunto dice enter request URL, eso es lo que acabamos de copiar, ¿verdad? Solicitud. Y la URL, pego la URL de solicitud. Y luego el verbo aquí, LC puede hacer GET, publicar, PUT, parche, borrar, tienes un montón de ellos. Entonces get se usa generalmente cuando estás esperando recuperar datos, ¿verdad? Así que consigue y luego gratis para su API. Bueno, cualquiera que fuera la URL de solicitud,
No, está comprometida con la memoria porque está ahí en la documentación. Y luego haré clic en enviar, saber qué hace el cartero es imitar una llamada. Bueno, realmente no imitar que realmente realiza la llamada a ese endpoint API y luego recupera los datos en la respuesta. Por lo que vemos aquí, puede
que no esté tan bien formateada como está en la documentación. Por supuesto, están poniendo su mejor pie hacia adelante. ¿ Qué hace el mismo bit de información donde conseguir una lectura y estamos consiguiendo una marca de tiempo y o levantando código de 200. Si miras a la derecha, verás el Status 200. ¿ De acuerdo? Entonces 200 es el universo de respuesta para todos k Una vez que obtienes una respuesta 200, sabes que todo está bien. Entonces los diferentes números tienen diferentes significados de palabras, ¿verdad? El tiempo que me llevó el costo. Entonces esta es una API rápida tomó solo eso es lo que, 2.5a y el tamaño de la respuesta, ¿verdad? Por lo que siempre se puede formatear. Entonces esto puedes hacer clic bonito, o puedes decir crudo o previsualizar o visualizar. No estoy seguro de por qué me guapa, Oh, eso es justo después de cambiar el formato. Entonces es bastante HTML. Entonces todo esto está bien. Y mirando esto, puedo decir algo como XML y no es XML. Dije HTML. Déjame hacer clic en JSON, que es, y ahí vamos. Entonces ahora es bastante JSON. Entonces ahora se ve un poco más radical, lo que se está previendo en su documentación, ¿verdad? Por lo que Cartero es muy útil cuando solo quieres probar cómo se verá la respuesta. Json es la respuesta más utilizada que estoy viendo eso vagamente, me gusta usar respuestas JSON. Cuál sería la alternativa de Clausius a eso XML. Y una vez que se
devuelven los datos que el usuario espera y has documentado lo que puede esperar, entonces tú eres, puedes sentirte seguro de que cualquiera puede usar APA cuando sea necesario. Por lo que Cartero va a venir muy bien a medida que vayamos embarcaciones desarrollando nuestro APN, Solo quiero validar que las respuestas se vean de la manera que esperamos que lo hagan.
6. Crear y recorrer el proyecto web de web: Oigan chicos, bienvenidos de nuevo. Entonces lo primero que tenemos que hacer teniendo Tan dos partes ambiente y todo es crear nuestros proyectos. Entonces lo que vamos a hacer es lanzar Visual Studio. Y luego vamos a ir a crear nuevo proyecto. Ahora desde aquí puedes elegir la plantilla que quieras si
tienes la aplicación web core ASP.Net en la parte superior, adelante y selecciónela. Si no lo haces, entonces solo puedes teclear web en este filtro y se filtrará no te pongas van a estar usando C-Sharp. Por lo tanto, asegúrese de que se seleccione C-sharp. Y si bien no tienes que cambiar mucho más que
seleccionar las plantillas deseadas y seguir adelante y dar clic en Siguiente. No, estaremos construyendo una API de listado de hoteles. Por lo que voy a llamar a mi lista de hoteles de proyecto. Ahora mismo que tenemos que no tenemos que cambiar mucho más. Podemos seguir adelante y dar clic en Crear. Si desea seleccionar una ubicación específica, puede seguir adelante y hacer eso. De lo contrario, proceder con crea. Siguiente paso tiene una selección del stock que pretendemos utilizar. No, ya habrías instalado el.net five SDK y Visual Studio 2090. Y así debiste haberla conseguido o 5 As, como opción. Si no tienes esto, entonces deberías tener 3.1. De cualquier manera. Usted Candace doble-back, adelante e instala el SDK. Revisa ese video si necesitas asegurarte de que tienes todo instalado. Y luego puedes seguir adelante y seleccionar 5. Y estaremos construyendo una API web ASP.Net Core. Ahora, a la derecha, tenemos la opción de agregar autenticación y configurar algunas otras cosas. Por lo que dejamos todo tal como está. No estaremos configurando la autenticación aquí porque las opciones que se nos dan no son realmente lo que queremos. Por lo que estaremos configurando manualmente eso más adelante. Y ese sería un buen ejercicio para ayudarte a entender cómo el núcleo de identidad se integra en tu API. Pero podemos dejarlo como ninguna autenticación, ¿verdad? Nulo. Y luego podemos seguir adelante y dar clic en Crear. Entonces ahora ese es nuestro proyecto se ha creado. El, justo el punto, oh, antes de avanzar mucho más allá, el diseño de mi Visual Studio significa diferente tuyo porque tiendo a usar el Explorador de soluciones. En mi lado izquierdo. Por defecto, debería estar a la derecha, estaría a la derecha. Entonces probablemente así es como se ve el tuyo. O siempre podemos arrastrarlo y ponerlo donde quieras. A mí me gusta tenerlo a la izquierda, así que ahí es donde estaré usando el mío. Ahora el Explorador de soluciones nos está dando una lista de archivos y solo estoy
pasando por esto en casos es tu primera vez que creas un proyecto.net. Si no lo es, entonces solo repaso esto de todos modos porque, ya sabes, repetición Newtons en presión y tal vez voy a puntos o algo que no sabías antes. Pero oye, así que lo primero que vamos a querer ver es nuestra carpeta de propiedades. Entonces déjame, déjame empezar de nuevo. Entonces tenemos lo que llamamos la solución, que es como un manifiesto para la lista de proyectos que están en esta solución que estamos construyendo. El proyecto es listado hotelero. Me doy cuenta cuando hago clic en él. En realidad es solo un archivo XML con un montón de configuraciones en listados y todas las cosas necesarias para que el proyecto sepa cuál es su identidad. Entonces porque elegimos .net 5, ves que ese es el marco objetivo. Si elegimos, 3.1 vería algo diferente allí bajo propiedades o las leería dependencias, vemos analizadores, frameworks, paquetes a medida que avanzamos, ves esta lista creciendo, así que no te pongas demasiado en lo que está pasando ahí. Nos fijamos en las propiedades, vemos ajustes de césped. Entonces aquí es como solo configuraciones, dígale a la aplicación y cómo debe comportarse cuando estamos en modo de depuración. Entonces lo que es muy importante aquí sin embargo, es que sí le permitimos configurar SSL o HTTPS cuando estamos de acuerdo en un proyecto. En consecuencia, tenemos este puerto SSL. Entonces cuando estemos haciendo nuestra aplicación y pruebas y así sucesivamente será en HTTPS colon barra barra barra inclinada local colon host. Y luego porque HTTPS donde se utiliza el puerto SSL, lo contrario este sería el punto final HTTP menos seguro. Entonces eso es sólo una cosita que estoy señalando todo lo contrario,
las otras configuraciones en las que nos meteremos a medida que avancemos. Más controladores carpeta, que realmente mangueras son bien controladores y estos hacen exactamente lo que el nombre sugiere. Controlaban la aplicación a través de la lógica o todo va. Cuando recibimos una solicitud de información santa interpretada, y todos esos comportamientos se definirían dentro de nuestros controladores. Estas son las primeras líneas de defensa. Onesy calienta un endpoint API, en realidad
estás llegando a un controlador. Y entonces diría: OK, qué endpoint o sentarme, qué debo hacer? Y entonces regresará en consecuencia. Una vez más, a medida que vamos, verás que cobra vida. Está bien, voy a saltar adelante a nuestro punto molesto JSON, que no tiene mucho. Estaremos modificando eso. ¿ No va bien? Pero déjame pasar al program.cs, que es el punto de partida para nuestras aplicaciones. Entonces aquí ves que ejecuta estas funciones principales si alguna vez hiciste otro lenguaje o desarrollaste en una consola C-sharp aplicaciones, notas que siempre empiezo con main, al
menos veo plus-plus C-sharp Java. Todas esas lenguas por lo menos tienen un método medio, ¿verdad? Entonces una vez que estemos ejecutando nuestra API va a golpear la media y luego principal va a hacer básicamente como un edificio. Entonces lo que hace es que agrega todos
los middlewares en funcionalidad y pone en la aplicación. Por lo que llama a este método, que realmente se define justo a continuación. Y hace sus inicializaciones en base a lo que hay en nuestro archivo de inicio. Entonces si voy a startup, aquí es donde ves donde se agregan todos los middlewares y las configuraciones se llaman al get-go. Entonces aquí vemos dónde quiere usar los controladores, agrega las bibliotecas que necesites agregar para que podamos usar nuestros controladores. Setup swagger, solo. Tradicionalmente swagger hubiera sido, tendrías que implementar ese dinero temprano desde esta versión de.net API, sale de la caja para que no tengamos que hacer demasiado trabajo, pero estaremos explorando qué es swagger más adelante en caso de que no estés muy seguro de qué se trata. Nosotros así que eso es configuraciones o configuramos servicios. Lo sentimos, tenemos configure lo que nos permite configurar alguna otra funcionalidad. Entonces sin meterse demasiado en ellos, algunos de ellos son autoexplicativos, algunos de ellos son por razones de seguridad. que todos ellos son realmente agradables, los hubs, y vamos a estar agregando cada vez más a medida que ponemos más características en nuestra API. Entonces, no te preocupes demasiado por ello. La fase final en esta solución sería sólo este modelo. Por lo que este modelo simplemente representa básicamente beta o una unidad de datos fuertemente tipada. Y más adelante estaremos definiendo muchos modelos y objetos de transferencia de datos. Pero por ahora, hemos creado nuestro proyecto. Deberíamos tener una comprensión justa de lo que estamos viendo dentro de esta solución. Y cuando regresemos, comenzaremos a configurar nuestro primer servicio de app dead en forma de registro.
7. ACTUALIZación: moderniza a . Redes 6: Hey chicos, En esta lección vamos a estar buscando actualizar nuestro proyecto desde dotnet 52, dotnet seis y todo esto es completamente opcional y un requisito previo para ello es que realmente tengas instalado Visual Studio 2022 ya. Entonces si te sientes más cómodo simplemente proceder con dotnet five y Visual Studio 2019, entonces eso no es absolutamente ningún problema. No obstante, si quieres dar ese pequeño paso e ir a dotnet busca, eso es lo que te guiaré a través de hacer. En última instancia, aunque, aunque hagas esto, actualiza, todo lo demás en el resto del curso cabrá ya dotnet seis es reverso compatible con todo Para dotnet cinco. Por lo que a menos de estos pocos cambios, todo lo demás debería funcionar. Entonces el primer cambio importante que vamos a hacer es un marco objetivo. Entonces para el archivo CSB, este es ese archivo de proyecto en la parte superior aquí. Vas a hacer clic en él y luego se volverá editable. Por lo que quieres cambiar eso de dotnet cinco a dotnet seis. Además de ese cambio en este archivo, vamos a querer agregar dos nuevas referencias bibliotecarias. Y esos vendrán en forma de Microsoft, no de ASP NET cord dot JSON Patch, que será la versión 6 y Microsoft dot extension dot dot abstracciones de almacenamiento en caché, que también es dotnet seis. Entonces si haces este ajuste, todos los paquetes que estarás usando mitad para ser para dotnet seis. Por lo que durante la duración del curso, mayor parte del mismo se hace en dotnet cinco. Me verás referenciando dotnet cinco bibliotecas. Pero todo lo que tienes que hacer es
asegurarte de que uses dotnet six en lugar de dotnet cinco. Entonces ahora no rompamos el archivo de
configuración y esto en realidad es opcional. Pero han eliminado las bibliotecas de registro de por vida de
Microsoft en Microsoft dot hosting, y lo han reemplazado con advertencia de
Microsoft dot ASP NET Core. Para que puedas seguir adelante y conocer ese cambio. Después de que hayas hecho todo eso, solo
quieres hacer Control Shift y B que haga una compilación, o simplemente puedes ir a construir y hacer clic en Construir solución. Y entonces probablemente vas a ver algunas áreas por encima del objetivo, proyecto objetivo. Entonces, solo saltemos a los proyectos. Ir a Nuevo get, Administrar paquetes NuGet. Si no estás muy familiarizado con lo que obtienes, es que lo miramos más adelante en el curso. Pero por ahora, el problema es que algunas de nuestras bibliotecas siguen en dotnet cinco. Entonces como dije, en lugar de referenciar dotnet 5, haremos referencia a la versión dotnet six. Entonces todo lo que tienes que hacer es saltar a las actualizaciones. Seleccionar todo cubo es, hacer una actualización. Acepta cualquier problema que surja. Y luego una vez que hayas hecho eso, probablemente puedas hacer una reconstrucción. A veces un constructor no recoge todo. Entonces, cuando hagas una reconstrucción, se
limpiará y luego se restaurará y luego se construirá. Y luego vemos uno logrado. Por lo que sabemos que nuestro proyecto se ha actualizado con éxito para dominar busca. Para que puedas seguir adelante y terminar el resto de este curso y divertirte con todo lo que vas a estar haciendo.
8. Configura la registración utilizando SeriLog: Bienvenidos de vuelta chicos. Entonces en esta lección vamos a estar configurando nuestras utilidades de logger. Por lo que nuestra arma de elección para este será serial out. Dicho esto, hay bastantes herramientas potenciales que están por ahí, digamos UP SIR log n, log, log for net, al
menos esas son tres que he usado y estoy seguro de que hay otras. No, estoy usando log serial porque está inclinado como el más rápido por ahí. Y es muy popular en la comunidad de desarrolladores. Pero sé muy objetivo a la hora de elegir tu herramienta. Te voy a guiar por la configuración para el registro de Siria y configurar los demás pueden tener algunas variaciones, pero en última instancia todas están orientadas a hacer lo mismo que es registrar tu actividad de aplicación. No, déjame explicar a qué me refiero registrando actividad de aplicación. Hay momentos en que ocurren eventos inesperados y si ocurre nulo y se oye hablar de ello cinco minutos después o incluso el instante después de que ocurra. A veces es difícil de rastrear, sobre todo en este contexto o es una API. No hay interfaz de usuario real, no hay retroalimentación real excepto en el error que se ha producido. Por lo que el uso de esta utilidad de inicio de sesión será capaz de tomar notas en cuanto a qué opción activó wat a respuesta que habría resultado ser una respuesta de error. E incluso entonces podemos ver los detalles de la respuesta de error set. Entonces, empecemos con la configuración de nuestro registro. Por lo que necesitamos sacar las librerías asociadas con serial. Entonces solo voy a hacer clic derecho en el proyecto, ir a administrar nuevos paquetes get. Y luego vamos a buscar en la sección de los Boroughs. Entonces estos son los que hemos instalado. Tus versiones pueden ser diferentes a las mías. Y si se te pide que actualices, ten cuidado de que deberías poder actualizar el Microsoft en CFD lo suficiente, pero solo ten cuidado al hacer y necesita estar listo para Roebuck en caso de que algo griegos. Por el momento, no, navegaremos y buscaremos Siria Log dot ASP.NET Core. Entonces verás ésta, pero esa no es la que queremos. Queremos puntos ASP.NET Core. Este cuenta con una librería dedicada a nuestro tipo de proyecto. Entonces podemos seguir adelante e instalar eso una vez más, si la versión es diferente, no debería ser un problema mayor. Y por todos los problemas que estás obteniendo, sólo tienes que seguir adelante y responder de manera afirmativa. Y luego una vez hecho eso, sólo
vamos a dirigirnos a nuestro program.cs y comenzar nuestra configuración. Entonces todo lo que necesitamos hacer es dejar la aplicación ni que donde vas a estar usando Siri log en lugar del registrador predeterminado que venía con proyecto. Porque si miras en molestar, ves que hay alguna apariencia de un maderero. Te están dando algunas configuraciones, pero entonces esto no es tan robusto como lo que queremos, ¿verdad? Entonces Cirillo tipo de construye encima de eso y nos permite anular. Entonces voy a bajar al constructor de agujeros para los ojos. Y lo primero que voy a hacer es hacer una nueva línea sobre eso en su tierra 20 y los puntos usan y derecha, Siri log. Está bien. Entonces una vez que haga
eso, me va a hacer saber lo que necesito para incluir esa biblioteca. Por lo tanto, utilice su registro después de incluir que usando declaración. Bueno entonces eso no es todo. Eso no es algo que el principio cosido sepa que tenemos esta biblioteca aquí. Ahora podemos volver atrás y configurar. Entonces solo estoy haciendo consiguiendo este cartílago de la rueda porque en el autobús admito, me he olvidado de poner eso. Entonces no saquemos nada del camino y procedamos a modificar nuestra aplicación principal, que va a inicializar nuestro registrador cuando la aplicación inicie jabón y donde hace termina Putin algunos escenarios de registro de prueba aquí mismo en la media como nuestro caso de prueba. Entonces lo que quiero hacer es configurar un objeto registrador. Entonces voy a decir Log dot logger es igual a una nueva configuración de registrador. De acuerdo, entonces lo que esto nos va a permitir hacer es establecer algunos valores por defecto y comportamientos esperados para nuestro logger. Entonces solo voy a estar rompiendo alineado con cada configuración que añado fue a punto c. Y la primera configuración que quiero es correcta,
herramienta, luego nudos otra vez. Y luego ven aquí tienen diferentes opciones. Por lo que dispararon en consola llamaron Alltop la caja, pero luego hablan de lavabos. Para que pueda descargar bibliotecas específicas para que puedas amar a una base de datos. Puedes registrar otros dos archivos diversos o tipos de archivos en función de cómo lo necesites barco, ¿verdad? No, sólo me interesa archivo más adelante en esta pequeña base de datos de barras y así sucesivamente. Podemos doble-back en Agregar herramienta de registro de base de datos o un conjunto de herramientas. Entonces bien, no, solo veo derecho a presentar. Y entonces esto toma algunos parámetros. Entonces voy a
nombrarlos sólo porque no necesariamente voy a atarlos el orden específico que se requieren aquí en los constructores o en las sobrecargas más bien, ¿verdad? Entonces el primero que voy a escribir es path. Ruta significa ¿dónde se debe crear este archivo? Cuando se necesita crear o anuncios en ruta necesita ser una cadena. Entonces no quiero establecer un camino establecido y
sólo voy a pasar algún tiempo y explicado aquí. Una vez más, el contexto gobierna. Uno, puede que desee tener una ruta de registro central, porque una vez que haya desplegado su API en un servidor, no
desea estar gastando en adivinar dónde hizo el logotipo, dónde podría estar el registro, posible que no lo desee en el proyecto real. Correcto. Porque tenía un archivo de registro aquí que acaba de haber borrado admitir. Pero puede que no lo desee en un proyecto porque alguien de Broglie y aplicación puede no necesariamente, no necesariamente quiere que entren en los archivos del proyecto en el servidor para poder acceder a los tacos. Por lo que se puede definir en algún lugar de la red y se puede definir en otra unidad. Simplemente puedes poner en un camino aquí donde sabes, quieres que tus archivos de registro se meta. Entonces voy a ver algo así como barra de barra de colon C y cuándo decir hotel. Entonces sé exactamente con qué obligación estoy lidiando cuando veo la carpeta, listados de
hoteles, troncos de barra, ¿verdad? Ese es mi jefe el que estoy definiendo. Entonces no digo que debas definir el spot si es el disco D para ti. Si no quieres poner los troncos, eso depende de ti, correcto. Pero solo te estoy recomendando que lo hagas fácilmente accesible o lo suficientemente accesible. Lo puedes encontrar cuando lo necesites. Está bien. Entonces ver listados de hoteles, registros, y luego solo voy a dar mi archivo log dash dot TXT. Entonces voy a explicar que son aparentemente guión aleatorio en unos pocos. Entonces esa es mi ruta de archivo. Hasta ahora, muchas flechas, pero sigamos y veamos qué esas, así que solo estoy rompiendo líneas para que podamos ver todo. Está bien. Esta rompiendo y haciendo una pena, sangría. Está bien, así que eso es todo por el camino. La siguiente configuración que voy a poner es la plantilla de salida. ¿ Cómo quiero que se vea cada línea? ¿Verdad? Por lo que ya preparé todas las plantillas puestas. Yo solo lo voy a pegar ahí y te guiaré a través de ella. Por lo que una vez más llamado parámetro o poner plantillas colon y el valor
que quiero serían marcas de tiempo Estoy tendiendo que pone en una marca de tiempo con ese nivel de detalle, puedes sumar o restar. Puede que no necesites todos estos año, mes, día,
hora, minuto, segundo mini milisegundo y lo que sea Z, ¿verdad? Por lo que he visto esto, usado esto muy detallado. Te da la marca de tiempo exacta, pasa algo. Es posible que no necesites ese nivel de detalle que depende de ti. Y entonces el nivel qué nivel de advertencia es es es una advertencia de inflamación. Pasaré por eso más adelante. ¿ Cuál es el mensaje? Y luego nueva línea o excepción, si hay una excepción incluida y Bricklin y mostrar la excepción. De acuerdo, entonces eso es básicamente lo que es. Haciendo. Los experimentos son que tengo es rodando intervalos. Entonces eso significa qué intervalo debe eso crear unos nuevos archivos. Entonces eso me trae de vuelta a ese dash dot aleatorio, punto hub ahí. Porque lo que va a pasar aquí es cuando veo intervalo
rodando punto d significa y sin guión y el DID asociado con cada d. Así que esto es bueno para segmentar a tu amado rápido. Entonces alguien dijo algo arriba en la última semana, jueves. Puedes ir fácilmente y encontrar el archivo de registro para el jueves de descanso de la semana pasada y revisarlo. De lo contrario, solo van a terminar con un archivo grande que sigue creciendo y creciendo y creciendo. Y luego vas a tener años de tacos en un solo archivo, que es para mí eso es ineficiente, al
menos cuando tienes múltiples archivos, puedes manejar los más viejos. Puedes eliminarlos de forma segura o moverlos a un archivo de forma segura y aún así mantener esa segregación. Entonces por eso estoy estableciendo ese intervalo temprano. ¿ Qué tienes diferentes opciones? Podrías hacerlo por el día, por la hora, o por el minuto, por el año, depende de ti. Está bien. El siguiente sería el nivel mínimo restringido. Entonces quiero restringir a un mínimo de información de nivel de eventos de registro, ¿verdad? Significado que HACO necesita un C cada cosita, hay ciertos puntos de depuración. Todos ellos, ya sabes, esto está empezando, inicializando esto y revelan que no necesito ver todo eso. Por lo que toda la verbose aquí los logs son depende de cuánto registres, así
como de lo que establezcas como mínimo. Entonces aquí estoy viendo solo log a un mínimo de información. Necesito incluir este controlador de biblioteca puntos enter, e incluimos esa biblioteca. Y luego me falta este punto y coma. Pero antes de ponerme el punto y coma y echar un vistazo aquí otra vez. Entonces estamos seguros, y me falta una coma aquí. Entonces eso es algo bueno. A tomó para revisar eso. Y entonces lo último aquí para deshacerse de todas estas matrices sería,
después de que este archivo abra y cerrara llave, decimos dot create loggers. Por lo que es bueno ver una configuración de registrador en todos estos. Crear el objeto registrador. No. De acuerdo, así que ahora que lo tenemos creado, en realidad
podemos empezar a usarlo. Entonces lo que voy a hacer aquí es que estamos arriba o iniciar proceso o nuestro medio, la línea principal en la función principal dentro de nuestro track cash. Y si no estás tan familiarizado con ese gadget de pista significa que va a tratar de hacer algo y si hay una excepción, lo atrapará y lo manejará en consecuencia. Entonces eso es lo que llamaremos manejo de excepciones. De acuerdo, entonces lo que vamos a hacer es intentar correr esta línea. Pero antes de eso voy a iniciar sesión en la información. Nuestros bits de información de inicio de sesión para decir, hey, se está iniciando la
aplicación para que podamos ver exactamente a qué hora y todos los detalles requeridos para saber que la aplicación comenzó en ese punto. Muy bien, si atrapamos una excepción, y aquí solo estoy calificando excepción con los objetos que en realidad sostiene la excepción, entonces voy a ver fatal. Para que puedas registrar error, puedo iniciar sesión información, puedes registrar advertencia. Aquí, se alimenta de si la aplicación deja de funcionar. Entonces estoy viendo en el amor no fatal. Y ya veo y esta es la excepción que causa que el feto anhelaba ser escrito. Y esta es una aplicación MRD y una C en campos, campos a iniciar. Entonces estoy viendo para que cuando alguien revise el registro, este es el resultado de o esto es lo que pasó. Derivado de esta excepción. El logger hará farmacéutico Tito Nissl formateado y lo escupirá en el archivo de acuerdo a esto. ¿ Está bien? Y luego después de todo eso, sólo
voy a decir finalmente. Por fin significa después de que has manejado o que habían probado la operación y lo atrapó y todo está hecho. ¿ Qué quiero hacer aquí? Ya veo, solo quiero vaciar y cerrar mi objeto log. Entonces eso es lo que va a pasar cuando iniciemos nuestra aplicación. Entonces bien, no, voy a seguir adelante y presionar este botón Play arriba aquí arriba, que va a poner en marcha tu aplicación. O podemos ir al archivo de registro y ver qué pasa. Muy bien, así que ahora que la aplicación está cargada y solo para que puedas ver, el navegador se le
ocurrirá swagger, pasará por swagger y más adelante, no te preocupes demasiado. Humboldt es esto, se ve bien, pero nuestro enfoque aquí está en nuestros registros. Por lo que vemos nuestro registro aquí. Se inicia la aplicación ahora vemos el nivel de registro y es una especie de formateado. Santo, pensé que no estaría bien. Por lo que otras cosas realmente están escribiendo en el registro, ver sus obligaciones comenzaron. Por lo que se iniciaron los datos de registro. Entonces este es un inicio, éste comenzó. Para que puedas ver las estampillas de tiempo exactas para lo que vale, ¿verdad? Conocemos el medio ambiente, por lo que ves que los registros
nos proporcionan ciertos detalles que no podemos ver cuando solo estamos mirando a los boroughs son así. Nunca sabrías que todo esto sucedió en el buck crecido con solo mirar esto. Entonces eso es todo para nosotros configurando el registrador, al
menos por ahora, más adelante configuramos nuestra base de datos y así sucesivamente. Podemos volver y agregar la función que puede registrar a la base de datos. También.
9. Explora Swagger UI: Bienvenidos de vuelta chicos. Por lo que hoy queremos sólo tener un swagger de run-through off rápido, cómo se vincula con nuestro desarrollo de API y cuál es su propósito. Por lo que swagger realmente está ahí para ayudar a simplificar el desarrollo de
API para usuarios, equipos y empresas. Se trata de un conjunto de herramientas de código abierto y básicamente nos ayuda a diseñar un documento nuestras necesidades obesas con mucho menos esfuerzo del que realmente se necesitaría para tener este nivel de detalle. Entonces es una herramienta realmente buena. Nos ayuda aún automatiza un montón de cosas. Y lo mejor de su impar es que
ya está incluido con nuestra API en versiones anteriores, quien tendría que ir e instalarlo está otorgado que no fue un proceso muy difícil. Las balas notan que Microsoft sí parece que es
una especie de estándar que todo el mundo con una EPA quiera poner al fútbol Jian porque es tan cool, tan eficiente en todo lo que está haciendo. Entonces lo que han hecho es que en realidad acaban de empezar a empaquetarlo en nuestra API para nosotros. Por lo que las principales bibliotecas que permiten integrar el swagger, bueno una, viene de este nuevo GET bolsillos. Si voy a administrar nuevo paquete get, veremos que ya tenemos el paquete instalado. Swash punto múltiple es p y.NET Core. De acuerdo, era menos herramientas de desorden que en nuestra startup. Entonces recuerda que program.cs causa el inicio. Entonces startup es nulo donde definimos todos los middlewares y el que tenemos en los servicios para Sagar es servicios, pensamientos, impar swagger, Jen, ponemos si o no nosotros de cualquier manera, si lo estuviéramos haciendo manualmente, tendríamos que hacer esto. Pero debido a que se generó, una vez más, no tenemos ese paso. Por lo que generará el jadeo y el documento. Apoya el versionado. Entonces si tienes la versión uno, versión dos, etcétera, fuera de tu API, eres capaz de mantener el camión alejado de las versiones están en agradable. Deja que quien esté leyendo documentación versión de Norwich fuera de la API que están mirando, puedes definir cierta inflamación de API abierta. Ese es el título, la versión. Si hago clic en coma aquí, verás que nuevamente agregas información de contacto. Se puede agregar una descripción, licencia, todo tipo de cosas. Por lo que tus documentos o alguien que mira tu documentación de API sabe exactamente quién si quieres proporcionar ese nivel de detalle y ver esta API es de pernos. Posteriormente. Además no lo hagas ni lo otro. En la sección Configurar, tenemos el uso swagger and up use swagger UI. Por lo que la interfaz de usuario de swagger significa que creará su propio endpoint para tener su propio tipo de archivo de configuración, y llamará a su lista de hoteles v1. No, ¿verdad? Y no, esto es al final es el desarrollo. Entonces n es sólo una variable que nos
permite rastrear qué ambiente donde en nuestro temprano desarrollo, cuando pan, leche, Schon, ¿verdad? No, cualquier cosa que entre aquí. Básicamente es ver. Estamos en desarrollo. Entonces cuando publicamos esto para decir como tu IIS o a internet, lo que sea que esté donde esté lo ponemos, no
hagas nada de esto. Eso es lo que dice básicamente esta afirmación if. No, creo que el futbol es útil. Entonces, si bien pueden haberlo puesto en la parte de desarrollo, que entiendo, creo que es más fácil simplemente incluirlo en la API en todo momento. De tal manera que cuando publiqué mi API ADL y duro brindar tanto soporte técnico a
alguien más para enseñarles a usar la API porque para eso es la documentación swagger. Entonces voy a tomar sólo estas dos líneas todo duro que si la declaración y colocarlas en el área general donde todo se va a hacer sin importar el entorno. Entonces esa es mi modificación. Una vez más, el contexto es todo lo que puedo entender que por razones de
seguridad o simplemente general Lakoff necesita el intercambio de información. Probablemente dijeron, bueno, solo
lo miras en un entorno de desarrollo porque los desarrolladores pueden ser internos. Pero entonces si es para desarrolladores de terceros, entonces voy a hacerlo externo y accesible públicamente. Entonces echemos un vistazo a uno de nuestros controladores. Y bueno, el controlador que tenemos, y ustedes ven aquí nos da el pronóstico del tiempo y defensa consigo método. De acuerdo, ahora si ejecuto la aplicación y aparece la página web, estamos viendo nuestros documentos swagger de swag. De acuerdo, así que listado hotelero versión uno, todas esas eran cosas definidas en la startup. Entonces si necesitas cambiar el nombre o hacerlo más atractivo, fácil de usar, legible por humanos. Siempre se puede cambiar dentro de las áreas de configuración aquí y aquí, ahí mismo está, título. Por lo que si quieres agregar
descripción, descripción, saldrá en la página. Ahora aquí nos está mostrando lo que hay en la API y lo que hay en la API sería nuestro endpoint para conseguir, correcto, volver al controlador para obtener pronóstico del tiempo. ¿ Está bien? Por lo que es generar contextualmente este documento basado en lo que ve en el proyecto. Y cuando hagas clic en eso, te mostrará ejemplos de lo que
va a volver cuando intentes recuperar algo. Lo cual es exactamente correcto porque esto está devolviendo una lista de pronóstico del tiempo y pronóstico del tiempo. El terrorismo es una clase que tiene algunos campos de datos definidos en cada uno tiene un tipo de datos de fecha. Entonces datetime, int, int y string. Entonces ya ves si swagger realmente los está tomando todos, ve el que está mostrando que vas a conseguir campo MCA llamado Beat temperature, temperatura
del mar f. Y resumen te va a mostrar todos ellos. Y da, incluso dándote una idea del tipo de datos, Datetime. Int, int y una cadena. Entonces solo te estoy mostrando lo poderoso que es el Sagar sin ningún esfuerzo de nuestra parte para tener ya documentación API, que una vez más es muy importante cuando
vas a estar construyendo en aplicación cliente, consumiendo cualquier API. O si eres el que construye la API, lo
haces fácil para alguien que tiene que consumirla. Entonces de la misma manera que te gustaría que te trataran como consumidor de la API de alguien para tener toda la información que necesitas para saber cómo construir la suya propia. Quieres asegurarte de proporcionar esa información a las personas que interactúan con la tuya. Por lo que swagger hace que salga de la caja muy fácil. Y solo para empujar un poco el sobre, cuando vamos a probarlo es viejo, en realidad
podemos hacer clic en Ejecutar y swagger nos permite realmente probar nuestra API aquí mismo. Entonces estos, estos datos que están regresando con el código de estado 200, nos metemos en todo eso más adelante. Pero se ve el cuerpo de respuesta. Eso se debe a que en realidad se ejecuta el código que está aquí. Y solo para demostrar que si hacemos click sobre y esta p y obtenemos estos puntos rojos, que es un punto de ruptura. Por lo que solo voy a hacer clic de nuevo en Ejecutar. Y luego ves que Visual Studio pausas y golpea este punto de interrupción ac, ya
sabes, tiene esta flecha amarilla en ella. Y eso nos permite presionar FL f 11 y ir línea por línea. Entonces no estoy tratando de mostrarte cómo depurar NANDA mostrándote que esto no es pelusa, en realidad nos ayudará a probar. Entonces no hay utilidades de prueba F2, swagger y cartero. De acuerdo, entonces y presiono F5 o solo puedo dar clic en continuar arriba aquí, cualquiera que sea, entonces solo continuará con la ejecución y lo traerá de vuelta. De acuerdo, así que eso es todo el jadeo nos ayuda en nuestra búsqueda de pruebas. Ahora sólo voy a hacer para caer en especial y vamos a incluir o logger aquí. Entonces arriba, ya lo he, bueno, por defecto se inyecta. Entonces debido a que estamos usando semilog como registrador predeterminado cuando
hacemos el registro usando nuestro objeto aquí, usará el registrador serial. Entonces solo te voy a mostrar pequeños fragmentos de hoyo logging esperanzas puedo decir puntos lager. Y entonces permitiría que la información dijera pronósticos meteorológicos accedidos. Está bien. Entonces esto es solo inflamación para ver accesible el pronóstico. Y luego puedo ver más adelante los pronósticos meteorológicos regresaron algo así. Ya sabes, puede que no. Esto, esto es una bala elemental, es sólo una vez más, por ejemplo, Sikh. Entonces solo ver logger. Blogger. Ah, bueno, lo siento, pongo eso para encontrar oh, aquí hay unas declaraciones de retorno, así que sólo lo dejaré como información para que no más adelante llegaremos a experimentar web torbellino o sin comillas atestiguarlo. Entonces solo voy a ejecutar esta aplicación una vez. Y luego voy a seguir adelante y probarlo. Haga clic en Ejecutar. Puedo quitar el punto de ruptura con sólo hacer clic. Por lo que mientras ese punto rojo esté ahí, se va a parar cuando llegue a esa línea, solo quitas los puntos rojos y presiona F5 para que continúe. Muy bien, así ejecutado. Déjame ver si mi bitácora me va a mostrar algo útil y maduro y fan. Y ahí vamos. Entonces estos son ahora los archivos de registro todas las veces que en realidad lo
hemos abierto y hizo algo que se ve aquí, está justo en los pulmones. Entonces aquí está nuestra primera aplicación de blog se está iniciando y luego se registran datos. Esto hizo eso. Y luego aquí está la que acabamos de escribir, accedió pronóstico del tiempo, ¿verdad? Y luego te está contando todos los detalles de lo que está haciendo y conseguir un descendido. Correcto. Entonces eso es todo un trabajo de tala, eso es todo funciona Sagar.
10. Configuración de CORS: Bienvenidos de vuelta chicos. En esta lección, vamos a estar configurando nuestra política de coro. No, por supuesto, es un acrónimo para compartir recursos de origen cruzado. Y esto es sólo un mecanismo que permite permitir nuestras restricciones. El reparto de recursos a través de los medios de aunque. Déjame decir eso en un poco más de inglés. Cuando alguien que no está en tu red intenta acceder a tu API, por defecto, tu API ha sido rechazar esas solicitudes de acceso. De acuerdo, entonces si desarrollo una API interna para ser usada en mi empresa y alguien de fuera de mi empresa con una dirección IP completamente diferente y todo trata de consumir la API o hablar con la API, entonces se va para saber automáticamente eso, oye, bueno, no puedo enviarte ninguna información porque no te conozco. Por lo que queremos configurar esta política para facilitar alguna conversación con fuentes son requirentes. Eso es que no estoy necesariamente en nuestra red. De acuerdo, así que en realidad me he topado con esto antes donde desarrollé una API para mi empresa, para uso de terceros. Y pasé algún tiempo depurando por qué esta empresa no podía acceder a la API que claramente estaba trabajando en mi máquina y en todas las demás máquinas, nuestra propia B. Y luego después de cavar, me di cuenta de que era la corresponden a c. Así que a veces dejas un e-learning aprendido a través de la experiencia. Bueno, estoy aquí sólo para hacerte saber qué configuraciones puedes
poner en marcha desde el principio para evitar cierto trabajo. Entonces para agregar esta política, lo que vamos a hacer es en nuestro archivo de startup dot cs y solo lo voy a agregar aquí. El orden sí importa hasta cierto punto, pero en este momento no nos estamos centrando realmente en el auto solo quisiera conseguir nuestras configuraciones en. Alguien acaba de decir servicios, puntar, agregar núcleos, y luego simplemente poner el punto y coma ahí. Entonces cuando decimos, por supuesto, necesitamos agregar una política como el cuerpo necesita saber hacer para comportarse, ¿verdad? Entonces de la misma manera que cuando estamos montando la otra jaga Jin, lo siento, diría Ver, y luego esta lambda R0. Y entonces podemos tener múltiples líneas con múltiples configuraciones. Verías que es con puntos finales y así sucesivamente. Nosotros vamos a estar haciendo eso aquí. Entonces voy a ver todo lo que puedes usar cualquier herramienta puede realmente no iguala b,
c, o igual a las opciones de palabra. Como dije, los ves usando piedra Endpoints aquí. Entonces solo diré Todo. Y luego la lambda R0. Y entonces lo que voy a hacer es abrir y cerrar llaves. Entonces eso significa que voy a tener todo un bloque de configuración en alguna esta ruptura en la línea para que podamos ver con claridad exactamente lo que buscaba. Y luego voy a decir toda la política de adición de puntos. Está bien, entonces estoy sumando póliza entonces después de darle un nombre. Entonces primer parámetro es una señora, lo
llamaré herramienta de política CORS, elegante o confuso. Por lo que CORS política, luego coma y luego después definir otra lambda. Entonces solo llamaré a este construir su causa normal para estar construyendo las políticas. Entonces Builder lambda R0 y yo sólo romperé línea. Por lo que quería decir un constructor. Los puntos permiten cualquiera. Entonces aquí están todas las opciones antes de que empezara a sentarlas. Estas son todas las opciones que puedes permitir. Nea puede no permitir, puedes establecer. Entonces si es blanco listado o con ciertos encabezados, se
puede definir hall. Tu API determinará a quién se le permite acceder a mí o a mis recursos y quién no. Farnell con fines educativos. Posteriormente, tal vez podamos ver el aseguramiento de la misma y sagrada mezcla y partido. Bueno entonces una vez más, el contexto lo es todo. Si estás desarrollando una API para internet y uso de terceros, entonces no puedes ser demasiado Street con la API si alguien infrarrojo debería poder subir. De lo contrario, vas a tener una sobrecarga administrativa de tratar de averiguar quién es quién todo el tiempo. Entonces solo voy a decir un bajo cualquier origen. Y solo voy a encadenar a lo largo de un bajo cualquier método, lo que significa que pueden acceder a cada método que endpoint que es se define aquí. Y luego fui a saludar, cualquier cabeza DAR, lo siento, un bajo, cualquier encabezado. Está bien, y luego cierra la llave para la póliza y luego usa punto y coma. Entonces esa es mi política de curso que se definen. Entonces HACO siloizando a todos y a cualquiera. Una vez que vengas a acceder a mi API, puedes seguir adelante y usar los recursos. Una vez más, el contexto es todo lo que determinará lo estricto que eres con tu, tu política de curso. Ahora, después de hacer todo eso, no
voy a bajar a configurar. Y voy a dejar que el nulo que sí debería usar las políticas del curso. Entonces aquí mismo, solo voy a decir usa núcleos. Ahí vamos. Y luego se va a decir, vale, hace algunas sobrecargas. Voy a decirle el nombre de la póliza C. Y así que sólo con poner las comillas, es un viejo dicho, vale, ¿qué son los nombres de una póliza? Entonces el nombre de la política como acabo de esbozar arriba es la política gruesa. Entonces tal vez podrías hacerlo un poco más informativo. Se podía ver un bajo. Está bien, porque eso es todo lo que realmente está haciendo. Esta política nos está permitiendo, voy a decir usa la política que dice hola. Muy bien, entonces para eso es para lo que por supuesto es realmente la política. Entonces esto, en esta situación, no
nos fuimos a ver plenamente los beneficios de la misma. Pero entonces si hiciste algún otro proyecto donde tienes la API y luego tienes un proyecto completamente diferente, que son los proyectos del cliente, lo
que significa que se está transmitiendo en una dirección IP diferente a nuestro puerto, que el actual proyecto API. Una vez que intentaron platicar, eso no funcionará hasta que tengas esta política en marcha.
11. Revisar y añadir cambios a GitHub: Bienvenidos de vuelta chicos. En este curso estaremos agregando o cotizando al control de fuentes y todo el control de fuentes es una maravillosa herramienta que se utiliza para ayudarnos a hacer un seguimiento de todos los cambios que estamos haciendo en una aplicación. También nos ayuda a trabajar bien en equipos porque en lugar de tener 34 versiones diferentes fuera de un proyecto, el repositorio de control de fuentes actúa como un área de almacenamiento central para todos. Se trata de una suscripción para comprobar los cambios de Ian compararse con otros, resolver conflictos, y muchos otros beneficios. Por lo que vamos a estar configurando nuestro control de fuentes para nuestro proyecto. Y después de que completemos cada módulo solo irá adelante y lo revisaremos y nos aseguraremos de que tengamos árbol
consistente de todos los cambios principales que se cumplan en nuestros proyectos a medida que avanzamos. Por lo que nuestra herramienta de elección es GitHub, que es nulo que Microsoft posee. Por lo que eso lo convierte en una herramienta maravillosa. Fácil integración en todo es maravilloso de YouTube. También nos permite albergar proyectos públicamente que otros puedan venir y ver tu trabajo y ayudarnos,
nos ayuda a construir un portafolio de proyectos para ser utilizados incluso para nuestro propio currículum. Entonces si no tienes ya una cuenta de github, puedes seguir adelante y golpear Regístrate. Es bastante fácil crear uno solo necesitas un nombre de usuario, dirección de
correo electrónico, y contraseña, y algo de verificación y luego estás dentro. Por lo que ya tengo medico y así sólo voy a seguir adelante e iniciar sesión. Y solo te estoy dando una vista previa de mi página web. Se ve el repositorio está a la izquierda que las personas que han seguido. Da una buena fuente de noticias en cuanto a lo que la gente está haciendo en el camino. Quién te está siguiendo IQ y los siguió. Y es solo una herramienta maravillosa para tipo de construir una relación con otros desarrolladores y comunidad de código abierto en general. Ahora volviendo a nuestros proyectos, lo que vamos a hacer es simplemente agregar este control de fuente. Por lo que la forma más fácil de hacer esto es mirar hacia abajo hasta la esquina inferior derecha y se ve que se suman al control de fuente. Entonces si hacemos clic en eso, verás se pone y lo que pasa es que tienes una versión de Git en tu computadora, pero entonces también podemos sincronizarla con GitHub. Entonces una vez que hagas
eso, se va a decir, vale, mientras que el camino local por favor inicia sesión, dijiste es el destino principal. Entonces como dije, es propiedad de Microsoft. La integración es muy fácil. Para que puedas seguir adelante y firmar en silos, añadir mis conos GuitarBot, y ya tengo ahí segundo está autorizado. Y una vez que eso tiene éxito, acababan de regresar a Visual Studio. Y ves solo sentir cargar todo. El nombre del repositorio, se puede agregar una descripción alguien para ver que se trata de una API web educativa construida usando.NET Core 5. Entonces alguien tropieza con él. Llegarán a un poco sólo cosas. Ah, eso es lo que algunos pernos. No, sí permiten repositorios privados. Correcto. Entonces si estás trabajando en un proyecto escolar o realmente algo que sea confidencial, no
quiero que el mundo pueda acceder a él. Adelante y deja ese simulacro de estado. De lo contrario usted en boleto. Por lo que quería compartir esto con ustedes chicos. Déjalo encendido y luego te mostrará este será el enlace directo al repositorio. Por lo que voy a seguir adelante y hacer clic en Crear y empujar. Y una vez hecho eso, voy a volver a GitHub y Trend View it. No, puede que lo encuentres fácilmente aquí tengo bastantes repositorios a mi izquierda. Entonces lo que voy a hacer es dar click en mi imagen de visualización, ir a tus repositorios, y luego voy a ver todos ellos listados tipo de en el orden en que se actualizaron por última vez, derecha. Entonces aquí está mi listado de hoteles y todos nosotros estamos aquí, OTA listando los controladores, todo en lo que he trabajado. Por lo que estos serán los primeros pollos. Entonces como dije, se mantiene apagado todos los commits. Cada vez que hacemos un cambio, podemos ir a ver qué se hizo exactamente. Y este fue el primer commit, así que no tuvimos que agregar un mensaje, pero más adelante verás que podemos agregar mensajes para que podamos anotar cada vez que tomamos código y decir, esto es lo que pasó en esta versión. Entonces con eso hecho, hemos completado esta primera fase de poner nuestra aplicación en el control de fuentes. Puedes seguir adelante y agregar un Read Me para que la gente obtenga alguna cantidad de instrucción a menos que el todo Para usar tu proyecto. Si es algo que está ahí para que cada n lo use cualquiera.
12. Implementar las clases de datos y el marco de la entidad: Bienvenido de nuevo. En esta lección, vamos a empezar a configurar nuestras clases de datos. Y por extensión o base de datos que estaremos usando Entity Framework, que es Microsoft.NET cores insignia Object Relational Mapper o ORM para abreviar. Y nos permiten realmente modelar o clases de
base de datos son nuestras tablas de base de datos más bien como clases C-sharp, luego diseñar nuestra base de datos en base a nuestras definiciones de clase. Entonces lo que vamos a estar haciendo para que las cosas comiencen es crear una nueva carpeta en nuestro proyecto. Así que solo tienes que hacer clic derecho, ve a agregar y haz clic en Nueva carpeta y solo llamaremos a esta beta. Ahora dentro de los datos, vamos a empezar a poner en nuestras clases. Por lo que nuestro listado de hoteles o bien, APA realmente, solo con fines educativos, solo tendrá dos clases o dos mesas, una para el país y otra para toda la hasta. Entonces básicamente cuando buscamos nuestro país, deberíamos poder ver todos los hoteles que están asociados a dicho país. Esa es básicamente la idea por la que vamos, ¿verdad? Por lo que solo voy a seguir adelante y hacer clic con el botón derecho en los datos, haga clic en Agregar. Y nuestra primera clase será country. Por lo que nota lo voy a nombrar de manera singular, país. El siguiente sería Hotel. Por lo que esta cada clase representa una unidad, país y un hotel. Antes de empezar a definir los campos para cualquiera de los dos, solo
quería poner todos los archivos en su lugar y luego solo
podemos trabajar nuestro camino de regreso y ver cómo se vincula todo. Entonces después de haber definido nuestras clases, al
menos estas dos, quería simplemente seguir adelante y crear lo que llamamos nuestra clase de contexto DB, ¿verdad? Entonces lo voy a llamar contexto base de datos. Y adelante y agrega eso. Y entonces esta clase realmente va a representar nuestro puente entre nuestras clases definidas o
nuestras clases de entidad y la base de datos real. Entonces país, esa es una entidad que va a ser Ford ingeniada en una mesa, ¿verdad? Cualquier cosa que definamos como campos pronto se duplicará y hará eso. Pero lo que se sienta que ponemos en país
serán campos en una mesa llamada lo que sea que lo atrapen. Entonces vamos a llamar a los países de la mesa, porque la tabla es efectivamente una colección de registros de tipo país. Lo mismo va para hotel, y lo mismo irá para tantas otras entidades tablas de barra inclinada como pueda tener que definir. Entonces esto es todo lo que llamaremos código primero ingeniería donde realmente escribimos todo el código para un pasillo, creo que nuestras mesas deberían mirar. Y luego adelante ingeniero nuestro hacer ajustes a la mesa en consecuencia. Entonces después de crear este contexto de base de datos, necesitamos un tipo de equipar con cosas que necesita saber que es el puente a la base de datos. Entonces lo primero que necesita saber es que hereda del contexto DB. No, esto va a dar un error porque necesito ir a buscar algunas herramientas. Pero entonces cuando controlo los puntos. Usted, verá Visual Studio sugiriendo que instale el paquete que falta, que es Microsoft dot Entity Framework Core. Si no estás viendo este prompt, NO hay problema. Siempre puedes simplemente ir haciendo clic derecho en el proyecto conseguido, administrado New gets, y luego puedes buscar el mismo paquete, solo tienes que ir a navegar y escribir el nombre del paquete y lo verías listado ahí. Entonces yo aunque en obras, pero mientras estoy aquí, sólo voy a sacar todas las bibliotecas de aquí. Eso es lo que sé que voy a necesitar, así que definitivamente voy a necesitar esta biblioteca, así que no cargue esa. Y una vez más, sé que definitivamente voy a necesitar el controlador para SQL Server porque estaremos usando bases de datos SQL Server. Dicho eso, hay otros para
otro motor de base de datos para que puedas usar una luz de secuela. Tienes, he visto postgres no ver listados aquí, no de inmediato, pero están todos aquí. Entonces estaremos usando SQL Server. Entonces seguiré adelante y conseguiré esa. Y la final que estamos recibiendo, al
menos para este periodo, es el conjunto de herramientas porque necesitamos las herramientas para poder ejecutar algunos comandos en el futuro. Entonces solo seguiré adelante e instalaré ese también. De acuerdo, así que ahora que terminamos en New se pone, si esos salon para revisar e instalar, si despejas el filtro, verás todo lo que tienes instalado. Eso está bien. Entonces voy a volver a mi contexto DB y luego fui a controlar y puntear otra vez y luego el prompt, NO gen aún incluye la declaración de uso porque ya tenemos la biblioteca en este punto. Ahora dentro de un repositorio lejano, bueno, lo siento, o contexto de base de datos, lo que necesitamos hacer es definir un constructor. Entonces voy a ver el contexto de la base de datos pública, o podría haber hecho de ver Tar tina, tina. Ahí vamos. Y luego voy a tomar el parámetro opciones de contexto DB. Por lo que esto se transmitirá desde el enchufe de arranque. Ya hemos definido todo eso, así que sólo lo estamos encajando. Escribir nulo. Y luego el agua que necesito hacer también es inicializar el controlador base, lo siento, un constructor para que el contexto DB tome las mismas opciones. Para no, no necesitamos poner nada más dentro
del constructor para que podamos simplemente dejar eso en blanco y seguir adelante. Entonces sí dije que esto representa el puente entre nuestra aplicación en nuestra base de datos. Entonces es aquí donde realmente enumeramos lo
que la base de datos debe conocerla cuando se está generando. Por lo que en términos más cortos son términos más prácticos. Yo quería decir que un conjunto de DB público da los datos de este DB, tipo de
datos, que en este caso podría ser país. Y luego voy a dar el nombre de la propiedad, que serían países. Entonces el nombre que le darías aquí es el nombre que usará la base de datos. Por lo que el tipo de datos en lo que respecta a C-sharp es Gunter, preocupado es país. Pero entonces la base de datos se va a. Definir una tabla llamada países y siempre que estemos accediendo a ella accederemos como países. Entonces eso es una cosa menor. Es decir, todo el mundo tiene sus propias convenciones de nomenclatura sobre que las personas usan una letra común para sus nombres de tabla. No me gusta hacer eso. Me gusta mantener mis nombres de tabla plural y el tipo de datos singular porque este es un país y qué hace una colección de países después de agosto es ese dB? Es un conjunto de países por más que quieras justificarlo, esa es mi justificación. Una vez más, el contexto gobierna todo. Entonces haré lo mismo por hotel y hoteles. Después de hacer todo esto, necesitamos dejar que nuestras cosas molestas no tengan cadena de conexión. Entonces la cadena de conexión es básicamente igual que el nombre sugiere, como cadena, que todas las líneas se orientan para llegar a la base de datos a la que la aplicación necesita conectarse. Entonces lo que voy a hacer aquí es crear una nueva sección y ver que automáticamente le da una cadena de conexión, ¿verdad? Y dentro ahí solo voy a llamar a esto, llamémoslo conexión SQL. Y la conexión va a tener Server igual y tenemos base de datos local que es una especie de incorporada en Visual Studio. Por lo que en este punto, puede que tenga su propia base de datos que desee utilizar. Si, de no ser así, eres principiante y solo las estás siguiendo, puedes usar esta que está por defecto para hacer mucho más instalación en realidad, ya está incluida con tu instalación de Visual Studio. No obstante, en este punto, si tienes como un servidor SQL localhost comenzando con una dirección IP, eso es lo que pondrías como valor de servidor en lugar de lo que tengo aquí. De acuerdo, pero continuando, también definimos nombres de una base de datos. Entonces la base de datos que debemos buscar slash crear, voy a llamarla es listados de hoteles. Listado de fotos en el marcador dd. De acuerdo, así que ese es el nombre de la base de datos con la que me
gustaría interrumpir en ese servidor. Y entonces sólo una opción más muy importante son relativamente importante la cual es la seguridad integrada. Y voy a decir que es igual a cierto. Entonces eso es todo a nuestra cadena de conexión. Eso parece. Por lo que todo se unirá después de un tiempo. Simplemente lo estamos haciendo poco a poco, construyendo hasta cuando todo está integrado. Entonces nuestro siguiente paso es pasar a una startup. Entonces sí dije que cuando definimos un contexto, conseguir
sus opciones desde la startup. Por lo que la puesta en marcha necesita saber que cuando se inicia la aplicación, debe estar cargando su configuración
de base de datos desde aquí y usando este archivo como la brecha. De acuerdo, entonces lo que vamos a hacer es añadir una nueva sección. En realidad, pueden sólo tres. ¿ Se someten alma? Me gusta agregar controladores como último o cerca de lo último que hago en configurar servicios. Por lo que me gustaría hacer todo lo demás antes. Añado controlador para que solo puedas seguir adelante y mover esa línea. Por lo que los servicios puntan contexto DB. De acuerdo, así que lo llamo contexto de base de datos. El código, las funciones
es, está buscando contexto DB. Y entonces lo que sí tomó picos es algo de tipo db context. Entonces esto es de contextos de tipo db. Este es mi contexto DB. Eso es lo que estoy creando de alguien, vamos a pasar eso en ya que ese tipo de datos está buscando, por supuesto, incluyendo cualquier referencia que falte. Ahí vamos. Y luego aquí están las opciones de parte. Entonces ese inicializador lambda al que ya estaban acostumbrados o no nos es ajeno por nulo. Entonces para las opciones, voy a decir usar SQL Server. Está bien, y recuerda que cuando obtienes esos snow add intuido que las bibliotecas de SQL Server, si solo controlo los puntos, lo
ves aquí viendo incluir la sentencia de uso, bien, así que usa SQL Server. Y luego va a querer saber K. Entonces, ¿de dónde estoy sacando la configuración? Entonces voy a decir configuración. Obtén tu cadena de conexión, cadena de conexión. Ahí vamos. Y entonces esto también se quiere ir. Van a ver la configuración de la App. Por lo que dice dar cadena de conexión porque ya sabe que podría
haber una sección para cadenas de conexión. Y digo que consiga la cadena de conexión con ese nombre. Por lo que en realidad puedes definir múltiples cadenas de conexiones aquí solo necesitas una coma, separarlas, y cada una necesita tener su nombre único. Y en ese punto, en realidad podrías configurar de manera diferente. Es contextos obvios para diferentes necesidades. Nuestras bases en la aplicación CME, lo que podría ser útil si eres API necesitaba el span múltiples bases de datos. Entonces hay una serie de beneficios de tener una API porque no
se limita a una escrituras se basan en un conjunto de interacciones, ¿verdad? Así que obtener cadena de conexión. Seguiré adelante y pasaré en el nombre cerrando todas las llaves que hay que cerrar. Y Farnell, creo que tenemos todo más adelante volveremos y modificaremos éste. Necesitamos alguna otra funcionalidad añadida, pero para no puntos y coma extra. Y ahí vamos hasta ahora, no, tenemos todo lo que necesitamos. Ahora antes de avanzar más, sólo
voy a doblar hacia atrás y vamos a completar nuestras definiciones de clase. Entonces tenemos hotel y tenemos country. Entonces país. Y yo sólo voy a decir tina, tina va a tener una identificación. Por lo que los marcos de entidad es si crea un campo llamado ID, asuma
automáticamente que esta es la clave principal. Está bien, así que tienes dos opciones. Se puede ver ID o se puede decir el nombre de la entidad, ID. Dirá automáticamente: OK, bueno, solo usaré esto como clave primaria. De acuerdo, así que ID ahí mismo. Esa es la clave y digamos que el país también tiene nombre. Entonces nombre del país y una diapositiva más. Basta con usar el control D para duplicar esa línea. Y vemos Tal vez zona o afilado. Eso es sólo en breve. Entonces en mi caso, la primera escultura que pondría en su Jamaica y el nombre corto sería j m Y luego basado en el país, por
supuesto el nombre corto es diferente, ¿verdad? Entonces esos son los campos que espero que tenga
la tabla de países cuando se genere la base de datos. Entonces voy a salvar esa y estoy dispuesto a mirar el hotel No. Entonces para empezar, podemos tomar y nombrar porque, quiero decir, tenemos que tener la clave primaria. Cada hoyo para tiene un nombre, pero luego tengo algunos otros campos aquí, incluyendo dirección, que es cadena, la calificación que es un doble, y luego referencia clave extranjera a nuestro país. Entonces déjame explicarle esto. Entonces si conoces las bases de datos, sabes que la clave principal es un identificador único para cualquier tabla dada. La clave externa representa referencia única o puede no ser única, pero es una herramienta de referencia fuerte. Otro registro en otra tabla. En otras palabras, cualquier hotel tiene que estar en un país. Entonces tenemos el hotel, le damos el nombre, su dirección, historia, comer, pero luego se lo hacemos saber. Nosotros, damos aquí un DNI que corresponde con un ID de país. De acuerdo, entonces tenemos que definir dos campos. Tenemos sobre anotación de datos aquí. Tan cuadrado, donde ES llave extranjera y le das el nombre que quieras. Por lo que en realidad podrías dar este campo de clave extranjera a nombre diferente si quisieras. Es igual a poner manualmente a tu nombre o en este caso, sólo
voy a darle el mismo nombre que la clase a la que está referenciando. Entonces nombra como sea clase, ¿verdad? Entonces tenemos dos propiedades. Tenemos el país como objeto, y luego tenemos el ID de país como un entero. Entonces country Id es la referencia más difícil que es la ID valorada en la herramienta hace tres etcétera. Quienquiera que país represente los objetos reales. Por lo que aquí podemos incluir todos los detalles. Cuando miramos a un hotel, si queríamos saber el nombre del país, todo lo que tenemos de forma nativa dentro de Hotel es el ID de contenedor. Pero entonces podemos llenar este objeto con todos los detalles. Por lo que podemos decir Hotel dot country, dot cualquier propiedad que sea que deseamos incluir en nuestra beta. Por lo que esta es bonita y fácil manera de Juan crea una referencia clave extranjera a otra mesa. Y para asegurarnos de que cuando jalamos una consulta para una mesa que tenga llaves extrañas por todo el lugar, podemos incluir todos los detalles aquí mismo sin escribir demasiadas combinaciones internas desordenadas y tener que saltar a través de aros para quedar incluidos. Se. Entonces ahora que tenemos todos estos detalles definidos, permítanme simplemente hacer una corrida rápida sólo para asegurarme de que todos estamos en la misma página. Tenemos nuestra carpeta llamada datos en la que vamos a estar almacenando todos los objetos relacionados con el dominio o la
base de datos
de lujo y sacó todo eso se almacenará dentro de esta carpeta llamada beta. Posteriormente podemos mirar a tal vez poner en su propio proyecto. Pero para nulo, son solo tres archivos son un número de suelo, no
necesitamos hacer todo eso. Por lo que los datos tienen un archivo llamado País, que está definiendo la tabla de nuestro país. Y uno llamado Hotel, que está definiendo la mesa del hotel. También tenemos el contexto de la base de datos, que está heredando de contextos BB cortesía de Entity Framework Core, que una vez más está actuando como nuestro puente entre ya en clases y la base de datos real. ¿ Está bien? ¿ Cómo llega a la base de datos? Bueno, uno, tenemos la cadena de conexión que define dónde buscar, qué buscar y sí, buscar su seguridad, ¿verdad? Entonces esa es nuestra cadena de conexión. De lo contrario, al inicio, queremos agregar el contexto DB o agregar ese puente a la base de datos cortesía fuera de este archivo. Y este archivo debería estar usando esta cadena de conexión. De acuerdo, lo siento, acabo de tener un corsé extra, solo lo quité. De acuerdo, así que hagamos una compilación rápida antes de proceder a la ingeniería de nuestra base de datos. Y para hacer una construcción. Y puedes hacer que sostenga Control Shift y presione B, o puedes ir a construir aquí y construir solución. Pero tenemos un proyecto de ley exitoso. Entonces pasemos a la consola de Package Manager. Si no estás viendo ahí, siempre
puedes ir a herramientas y new get package manager y Package Manager console. De acuerdo, así que aquí es donde esa Entity Framework Core dot Tools Library viene muy útil porque nos permite ejecutar ciertos comandos aquí para facilitar el andamio. Y eso es lo que se llama scufed en base de datos, lea la generación de la base de datos. Tenemos que ejecutar ciertos comandos. Entonces lo que tenemos que hacer es primero agregar a lo que llamamos una migración,