REST de ASP.NET Core
Al ir a una página web, el servidor web se comunica con los exploradores mediante HTML, CSS y JavaScript. Si se interactúa con la página haciendo algo como enviar un formulario de inicio de sesión o hacer clic en un botón de compra, el explorador envía la información de vuelta al servidor web.
De forma parecida, los servidores web pueden comunicarse mediante servicios web con una amplia gama de clientes, como exploradores, dispositivos móviles y otros servidores web. Los clientes de API se comunican con el servidor a través de HTTP, y los dos intercambian información mediante un formato de datos como JSON o XML. Las API se suelen usar en aplicaciones de página única (SPA) que ejecutan la mayor parte de la lógica de la interfaz de usuario en un explorador web, y se comunican con el servidor web principalmente por medio de API web.
REST: un patrón común para compilar API con HTTP
Transferencia de estado representacional (REST) es un estilo arquitectónico para compilar servicios web. Las solicitudes REST se realizan a través de HTTP con los mismos verbos HTTP que usan los exploradores web para recuperar páginas web y enviar datos a los servidores. Los verbos son:
- GET: esta operación se usa para recuperar datos del servicio web.
- POST: esta operación se usa para crear un nuevo elemento de datos en el servicio web.
- PUT: esta operación se usa para actualizar un elemento de datos en el servicio web.
- PATCH: esta operación se usa para actualizar un elemento de datos en el servicio web describiendo un conjunto de instrucciones sobre cómo se debe modificar el elemento. Este verbo no se usa en la aplicación de ejemplo.
- DELETE: esta operación se usa para eliminar un elemento de datos en el servicio web.
Las API de servicio web que se adhieren a REST se denominan API de RESTful y se definen mediante:
- Identificador URI base.
- Métodos HTTP, como GET, POST, PUT, PATCH o DELETE.
- Un tipo de medio para los datos, como notación de objetos JavaScript (JSON) o XML.
Una API a menudo tiene que proporcionar servicios para unas cuantas cosas diferentes relacionadas. Por ejemplo, la API de pizzas puede administrar pizzas, clientes y pedidos. Se va a enrutar para asignar URI a divisiones lógicas del código, de modo que las solicitudes a http://localhost:5000/Pizza se enruten a PizzaController, mientras que las solicitudes a http://localhost:5000/order lo hagan a OrderController.
Ventajas de crear API en ASP.NET Core
Con ASP.NET se pueden usar el mismo marco y los mismos patrones para compilar páginas web y servicios. Esto significa que se pueden reutilizar clases de modelos, lógica de validación e, incluso, servir páginas web y servicios en paralelo en el mismo proyecto. Este enfoque ofrece una serie de ventajas.
Ventaja: serialización simple
ASP.NET se ha diseñado para experiencias web modernas. Los puntos de conexión serializan automáticamente las clases en JSON con el formato correcto de serie. No se necesita ninguna configuración especial. Por supuesto, la serialización se puede personalizar para los puntos de conexión con requisitos únicos.
Ventaja: autenticación y autorización
Proteja los puntos de conexión de API con compatibilidad integrada con JSON Web Tokens (JWT) estándar del sector. La autorización basada en directivas ofrece la flexibilidad necesaria para definir reglas de control de acceso eficaces, todo ello en el código.
Ventaja: enrutamiento junto con el código
ASP.NET permite definir rutas y verbos en línea con el código, mediante atributos. Los datos de la ruta de acceso de la solicitud, la cadena de consulta y el cuerpo de la solicitud se enlazan automáticamente a parámetros de método.
Ventaja: HTTPS de manera predeterminada
HTTPS es una parte importante de las API web modernas y profesionales. Se basa en el cifrado de un extremo a otro para proporcionar privacidad y garantizar que las llamadas API no se intercepten ni se modifiquen entre el cliente y el servidor. ASP.NET proporciona compatibilidad de primera clase con HTTPS de serie. Genera automáticamente un certificado de prueba y lo importa fácilmente para habilitar HTTPS local de modo que pueda ejecutar y depurar las aplicaciones de forma segura antes de publicarlas.
Ventaja: uso compartido de código y conocimientos con aplicaciones .NET
Aproveche sus aptitudes y el ecosistema de .NET para compartir la lógica de la API web con otras aplicaciones compiladas con .NET, como móviles, web, escritorio, servicios, etc.
Prueba de API web mediante .NET HTTP REPL
Al desarrollar un sitio web tradicional, normalmente el trabajo se ve y se prueba en un explorador web. Las API web aceptan y devuelven datos en lugar de HTML, por lo que un explorador web no es la mejor herramienta de pruebas de API web. Una de las opciones más fáciles de usar para explorar API web e interactuar con ellas es .NET HTTP REPL. REPL significa R ead-E val-P rint L oop. Es una manera sencilla y popular de compilar entornos de línea de comandos interactivos. En la sección siguiente va a crear una API web simple y a interactuar con ella mediante .NET HTTP REPL.
Comprobación de conocimientos
¿Necesita ayuda? Consulte nuestra guía de solución de problemas o notifique un problema para enviar comentarios específicos.