core

Parte 5 – Agregar Swagger a GestaProject.WebAPI

Parte 5 – Agregar Swagger a GestaProject.WebAPI

 

 

 

 

 

 

 

Parte​​ 5​​ ​​ Agregar Swagger a GestaProject.WebAPI.

 

En el proyecto de GestaProject.WebAPI, necesitamos agregar algunas librerías y hacer unas pocas configuraciones en el código.

 

Swashbuckle.AspNetCore​​ ver. 4.0.1

Swashbuckle.AspNetCore.Swagger​​ ver. 4.0.1

Swashbuckle.AspNetCore.SwaggerGen​​ ver. 4.0.1

Swashbuckle.AspNetCore.SwaggerUI​​ ver. 4.0.1

 

Parar instalar esos paquetes, damos click derecho en el projecto GestaProject.WebAPI y seleccionamos Management Nuget Packages.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Buscamos los paquetes y los instalamos.

 

Nota: es muy importante que instales la versión 4.0.1

 

Ahora tenemos que editar el archivo Startup.cs del proyecto.​​ 

 

En​​ ConfigureServices, agregamos las siguientes líneas:

 

services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2)

                .AddJsonOptions(options => options.SerializerSettings.ContractResolver = new DefaultContractResolver());

​​ 

            services.AddSwaggerGen(options =>

            {

                options.SwaggerDoc("v1"new Swashbuckle.AspNetCore.Swagger.Info { Title = "GestaProject Web API", Version = "v1" });

            });

 

 

 

 

 

 

En​​ Configure​​ agregamos las siguientes líneas:

 

app.UseSwagger();

​​ 

            app.UseSwaggerUI(c =>

            {

                c.SwaggerEndpoint("/swagger/v1/swagger.json""GestaProject Web API v1");

            });

 

Quedando algo así:

 

 

 

En​​ ValuesController, haremos un cambio:

 

 

 

 

 

Y por​​ último​​ cambiamos la opción de Lanch browser del proyecto.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Y si todo, les sale bien, ejecutan la solución y verán la siguiente vista.

 

Read More

Parte 4 – Crear solución y proyectos

Parte 4 – Crear solución y proyectos

 

 

 

 

 

 

Parte​​ 4​​ ​​ Crear​​ solución y proyectos.

 

Vamos a crear los siguientes proyectos:

 

GestaProject.WebUI: que es la interfaz gráfica de la aplicación.

GestaProject.WebAPI: que es la aplicación que contendrá los microservicios.

GestaProject.Data: que es la capa de datos.

GestaProject.Business: es la capa de la lógica del negocio o proyecto.

 

Abrir la carpeta GestaProject\dev-source en tu repositorio de archivos.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Desde Visual Studio crear una solución en blanco. La solución se llamará​​ GestaProject​​ y guardarlo en la ruta​​ C:\Projects\GestaProject\dev-source.

 

Así es como debe de quedar la estructura inicial de los archivos.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ahora vamos a crear un nuevo proyecto que será la interfaz web de la aplicación. Para eso agregamos otro proyecto en la solución.​​ Este​​ proyecto se​​ llamará​​ GestaProject.WebUI

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Seleccionar .NET Core y ASP .NET Core 2.2​​ click en Web Application (Model-View-Controller).

 

Después​​ de agregar GestaProject.WebUI,​​ revisamos la estructura de los archivos y​​ que la aplicación funciones sin problemas.

 

 

 

 

 

 

 

 

 

 

 

 

 

Para la aplicación de los microservicios, vamos a crear el proyecto GestaProject.WebAPI, así como lo hicimos con GestaProject.WebUI, pero seleccionaremos API como template.

 

 

 

 

 

 

 

 

 

En las propiedades de la solución GestaProject, seleccionaremos Multiple startup projects y debe de quedar como se muestra en la siguiente imagen.

 

Al proyecto GestaProject.WebAPI le asigaremos el puerto 60000 y a GestaProject.WebUI el puerto 60010.

 

 

 

 

 

Ejecutamos el proyecto y nos saldrán las siguientes páginas.

 

 

 

 

 

 

 

 

 

 

Para la capa de datos y la capa de negocio agregaremos dos librerías de clases, las llamaremos GestaProject.Data y GestaProject.Business

 

 

Te muestro la estructura final en Visual Studio y en el explorar de Windows; el cual debe tener el proyecto.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Read More

Parte 3 – Crear proyecto y carpetas en Team Foundation (TFVC)

Parte 3 – Crear proyecto y carpetas en Team Foundation (TFVC)

 

 

 

 

 

 

Parte​​ 3​​ ​​ Crear proyecto y carpetas en Team Foundation (TFVC).

 

Si usas TFS en Azure DevOps, deberás crear un nuevo proyecto llamado “GestaProject”.

 

 

Para el control de versión de código, elegiremos Team Foundation Version Control y como metodología Scrum.

 

Desde Visual Studio nos conectamos a TFS y seleccionamos la carpeta de​​ “GestaProject”​​ y mapeamos al proyecto en nuestro disco duro.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Dentro de esta vamos a crear 3 folder para después convertirlos a Branch:

 

  • dev-source.

  • qua-source.

  • pro-source.

 

 

 

 

 

 

 

Y hacemos check in de​​ las carpetas en TFS.

 

 

 

 

Read More

Parte 2 – Arquitectura de la aplicación web

Parte 2 – Arquitectura de la aplicación web

 

 

 

 

 

 

 

A continuación se muestra de formal general la arquitectura que tendrá la aplicación web.

Arquitectura

 

Read More

Parte 1 – Creando una aplicación web (Un poco de teoría)

Parte 1 – Creando una aplicación web (Un poco de teoría)

Parte 1 – Creando una aplicación web (Un poco de teoría)

 

En este tutorial vamos a crear una aplicación web real con las tecnologías​​ más usadas actualmente,​​ para esto primero vamos a ver un poco de teoría para tener la base de lo que se va a realizar.

Net Core 2.2:​​ es un framework informático administrado, gratuito y de código abierto para los sistemas operativos Windows, Linux y macOS.​​ Es un sucesor multiplataforma de .NET Framework.3​4​ El proyecto es desarrollado principalmente por Microsoft bajo la Licencia MIT.1​.

 

Modelo-Vista-controlador (MVC):​​ es un patrón de diseño de software comúnmente utilizado para desarrollar interfaces de usuario que divide la lógica del programa relacionada en tres elementos interconectados. Esto se hace para separar las representaciones internas de información de las formas en que la información es presentada y aceptada por el usuario.​​ Este tipo de patrón se utiliza para diseñar el diseño de la página.

 

A Beginner's guide to Ruby on Rails MVC (Model View Controller ...

 

 

Bootstrap 3.3.7:​​ es una biblioteca multiplataforma o conjunto de herramientas de código abierto para diseño de sitios y aplicaciones web. Contiene plantillas de diseño con tipografía, formularios, botones, cuadros, menús de navegación y otros elementos de diseño basado en HTML y CSS, así como extensiones de JavaScript adicionales. A diferencia de muchos framework web, solo se ocupa del desarrollo front-end.

 

AdminLTE (Bootstrap​​ Template):​​ El mejor panel de administración de código abierto y tema del panel de control. Construido sobre Bootstrap, AdminLTE proporciona una gama de componentes receptivos, reutilizables y de uso común.

 

jQuery:​​ es una biblioteca multiplataforma de JavaScript, creada inicialmente por John Resig, que permite simplificar la manera de interactuar con los documentos HTML, manipular el árbol DOM, manejar eventos, desarrollar animaciones y agregar interacción con la técnica AJAX a páginas web.1​

 

jQuery Unobtrusive Validation:​​ es una​​ biblioteca complementa la validación de jQuery al agregar compatibilidad para especificar opciones de validación como elementos de datos * HTML5.

 

Class Library (.Net Core):​​ La reutilización del código es una de las características clave de los lenguajes de programación modernos. Los desarrolladores de software a menudo comparten la misma funcionalidad entre múltiples aplicaciones para evitar la redundancia del código y mantener los estándares y la calidad del código.

 

Microservicios:​​ son un patrón de diseño en el que las aplicaciones se componen de pequeños módulos independientes que se comunican entre sí mediante contratos bien definidos. Cada microservicio se centra en un solo concepto.

 

Entity Framework (EF) Core:​​ es una versión ligera, extensible, de código abierto y multiplataforma de la popular tecnología de acceso a datos Entity Framework.​​ Es un marco de Objeto / Mapeo Relacional (O / RM). Es una mejora de ADO.NET que brinda a los desarrolladores un mecanismo automatizado para acceder y almacenar los datos en la base de datos.

Swagger API Framework – 12 Things You Need To Know

Swagger:​​ es un marco de software de código abierto respaldado por un gran ecosistema de herramientas que ayuda a los desarrolladores a diseñar, construir, documentar y consumir servicios web RESTful.

 

 

Arquitectura N-Capas​​ Orientada al​​ Dominio:​​ El estilo arquitectural en capas se basa en una distribución jerárquica de los roles y las responsabilidades para proporcionar una división efectiva de los problemas a resolver. Los roles indican el tipo y la forma de la interacción con otras capas y las responsabilidades la funcionalidad que implementan.​​ Algunas de sus características​​ son:

 

  • Descomposición de los servicios de forma que la mayoría de las interacciones ocurre solo entre capas vecinas.

 

  • Las capas de una aplicación pueden residir en la misma máquina o pueden estar distribuidos entre varios equipos.

 

  • Los componentes de cada capa se comunican con los componentes de otras capas a través de interfaces bien conocidos.

 

  • Cada nivel agrega las responsabilidades y abstracciones del nivel inferior.​​ 

Read More