Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Protocolo de datos abiertos(OData) simplifica la creación y el consumo de API RESTful en el desarrollo de Microsoft .NET. Ofrece un enfoque estandarizado para consultar y manipular datos mediante el conocido CRUD(Crear, Leer, Actualizar, Suprimir) operaciones. Este artículo explora cómo el Protocolo de Datos Abiertos agiliza el desarrollo de API en .NET, proporcionando ejemplos y destacando sus principales ventajas. Para saber más sobre OData, puede consultar la páginaOData C# Repositorio GitHub para el código fuente.
OData sigue las prácticas estándar para crear API web RESTful, utilizando URL y verbos HTTP como GET y POST para definir las operaciones. Representa los datos mediante un Modelo de Datos de Entidades(EDM) y JSON o AtomPub para la codificación de mensajes. Aunque OData simplifica el desarrollo de API en comparación con GraphQL, puede ofrecer menos funciones avanzadas.
Las bibliotecas .NET para OData mejoran la experiencia de los desarrolladores al facilitar formas eficientes de manipular conjuntos de datos. Simplifica la creación y el consumo de API RESTful en el desarrollo .NET. Ofrece un enfoque estandarizado para consultar y manipular datos mediante operaciones CRUD familiares(Crear, Leer, Actualizar, Suprimir).
Comienza abriendo tu nuevo proyecto en Visual Studio. A continuación, vaya al Explorador de soluciones, haga clic con el botón derecho en el proyecto y seleccione "Administrar paquetes NuGet". Busque Microsoft.AspNetCore.OData e instálelo. La versión actual de OData es la 8.2.5.
Para instalar OData en la consola del gestor de paquetes NuGet, utilice el siguiente comando.
Install-Package Microsoft.AspNetCore.OData
Install-Package Microsoft.AspNetCore.OData
IRON VB CONVERTER ERROR developers@ironsoftware.com
Vamos a crear una sencilla clase de modelo OData en una aplicación ASP.NET Core. En el siguiente código, la siguiente clase expondrá una lista de servicios que pueden ser consultados utilizando la sintaxis OData.
public class Service
{
public int Id { get; set; }
public string FirstName { get; set; }
public decimal Price { get; set; }
}
public class Service
{
public int Id { get; set; }
public string FirstName { get; set; }
public decimal Price { get; set; }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
La clase ODataModelBuilder representa una estructura de datos básica en C# para gestionar un servicio. Incluye tres propiedades: Id: Un identificador entero para el servicio. FirstName: Una cadena que representa el nombre asociado al servicio. Price: Un valor decimal que indica el precio del servicio. Esta clase puede utilizarse como bloque de construcción para crear funcionalidades más complejas relacionadas con el servicio en el desarrollo .NET. También podemos utilizar propiedades de colección o navegación en función del escenario.
A continuación se explica cómo configurar un controlador OData en una aplicación ASP.NET Core en Visual Studio para exponer una lista de servicios a través de un punto final OData estandarizado. El siguiente ejemplo muestra una implementación básica utilizando una lista estática de servicios y habilitando las funcionalidades de consulta OData en Web API:
using DemoOData.Models;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.OData.Query;
using Microsoft.AspNetCore.OData.Routing.Controllers;
namespace DemoOData.Controllers
{
[Route("odata/[controller]")]
public class ServiceController : ODataController
{
private static readonly List<Service> Products = new List<Service>
{
new Service { Id = 1, FirstName = "Laptop", Price = 6239.9M },
new Service { Id = 2, FirstName= "Smartphone", Price = 2585.9M }
};
[HttpGet]
[EnableQuery]
public IActionResult Get() => Ok(Products);
}
}
using DemoOData.Models;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.OData.Query;
using Microsoft.AspNetCore.OData.Routing.Controllers;
namespace DemoOData.Controllers
{
[Route("odata/[controller]")]
public class ServiceController : ODataController
{
private static readonly List<Service> Products = new List<Service>
{
new Service { Id = 1, FirstName = "Laptop", Price = 6239.9M },
new Service { Id = 2, FirstName= "Smartphone", Price = 2585.9M }
};
[HttpGet]
[EnableQuery]
public IActionResult Get() => Ok(Products);
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
El código proporcionado define un ODataController llamado ServiceController en una aplicación ASP.NET Core, permitiendo la consulta y manipulación de datos utilizando el protocolo OData. Enruta las peticiones a "odata/Servicio" y sirve una lista estática de objetos de Servicio, incluyendo un portátil y un smartphone. El método Get, decorado con[EnableQuery]permite a los clientes realizar consultas OData(filtrado, clasificación, paginación) en la lista de Productos, devolviendo los resultados como un IActionResult para peticiones HTTP GET.
Registrar servicios OData en el Program.cs
Para integrar OData en una aplicación .NET 6, debemos instalar y configurar los paquetes OData necesarios. Esto implica definir el modelo de OData, configurar el middleware de OData y configurar los servicios para que admitan funciones de OData como filtrado, ordenación y expansión.
using DemoOData.Models;
using Microsoft.AspNetCore.OData;
using Microsoft.OData.Edm;
using Microsoft.OData.ModelBuilder;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
static IEdmModel GetEdmModel()
{
ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
builder.EntitySet<Service>("Services");
return builder.GetEdmModel();
}
builder.Services.AddControllers()
.AddOData(options => options
.AddRouteComponents("odata", GetEdmModel())
.Select()
.Filter()
.OrderBy()
.SetMaxTop(20)
.Count()
.Expand()
);
using DemoOData.Models;
using Microsoft.AspNetCore.OData;
using Microsoft.OData.Edm;
using Microsoft.OData.ModelBuilder;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
static IEdmModel GetEdmModel()
{
ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
builder.EntitySet<Service>("Services");
return builder.GetEdmModel();
}
builder.Services.AddControllers()
.AddOData(options => options
.AddRouteComponents("odata", GetEdmModel())
.Select()
.Filter()
.OrderBy()
.SetMaxTop(20)
.Count()
.Expand()
);
IRON VB CONVERTER ERROR developers@ironsoftware.com
Este código configura el soporte OData en una aplicación .NET 6. En primer lugar, importa los espacios de nombres necesarios y crea una instancia de WebApplicationBuilder. El método GetEdmModel define el modelo OData utilizando el ODataConventionModelBuilder, que especifica un conjunto de entidades para las entidades de Servicio. A continuación, se llama al método AddOData para configurar los servicios OData, incluyendo la activación de select, filter, order by, count, expand, y el establecimiento de un valor top máximo de 20 para los resultados de la consulta. Esta configuración garantiza que la aplicación pueda gestionar consultas OData de forma eficaz.
La función AddOData() utiliza el método GetEdmModel() que recupera el modelo de datos utilizado para la consulta, lo que constituye la base de un servicio OData. Este servicio utiliza un modelo de datos abstracto conocido como Modelo de Datos de Entidades(EDM) para definir los datos expuestos. La clase ODataConventionModelBuilder genera un EDM mediante convenciones de nomenclatura por defecto, minimizando los requisitos de código. Alternativamente, los desarrolladores pueden utilizar la clase ODataModelBuilder para un mayor control sobre el EDM.
Después de ejecutar el servicio, puede consultar el Servicio utilizando varias opciones de consulta OData, tales como:
https://localhost:7131/odata/Service
https://localhost:7131/odata/Service
IRON VB CONVERTER ERROR developers@ironsoftware.com
IronPDF es una completa biblioteca de C# diseñada para simplificar elconversión de archivos a PDF, división de páginas PDFyeliminación de páginas de PDF dentro de las aplicaciones .NET. Ofrece una amplia gama de funciones, incluida la capacidad de generar PDF a partir de HTML, CSS, imágenes y JavaScript, lo que permite a los desarrolladores transformar sin esfuerzo el contenido web en documentos PDF de alta calidad. Con su intuitiva API y su potente motor de renderizado, IronPDF permite a los desarrolladores agilizar los procesos de generación de PDF, facilitando la integración de funciones dinámicas de generación de documentos en sus aplicaciones con facilidad.
Para instalar IronPDF en Visual Studio, vaya a la consola del gestor de paquetes NuGet y utilice el siguiente comando.
Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
Para generar un documento PDF a partir de contenido HTML en una aplicación .NET, podemos utilizar la clase ChromePdfRenderer de una biblioteca como DinkToPdf o similar. Este ejemplo muestra cómo crear un PDF con los detalles de un registro de Empleado.
public record Employee (string FirstName, string LastName);
class Program
{
static void Main(string[] args)
{
var employee = new Employee("Iron", "Developer");
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf($"<h1>Person Record</h1><p>Name: {employee.FirstName} {employee.LastName}</p>");
pdf.SaveAs("PersonRecord.pdf");
}
}
public record Employee (string FirstName, string LastName);
class Program
{
static void Main(string[] args)
{
var employee = new Employee("Iron", "Developer");
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf($"<h1>Person Record</h1><p>Name: {employee.FirstName} {employee.LastName}</p>");
pdf.SaveAs("PersonRecord.pdf");
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
Este ejemplo crea un simple registro Empleado y luego utiliza IronPDF para generar un documento PDF que muestra el nombre de la persona. Muestra la perfecta integración de los registros de C# con la generación de PDF en aplicaciones .NET.
OData simplifica el desarrollo y el consumo de API RESTful en .NET al proporcionar funciones estandarizadas de consulta y manipulación. También podemos integrarlo con Entity Framework, mejorando la eficiencia del desarrollo al simplificar el acceso y la gestión de datos. OData agiliza el desarrollo de API, lo que permite una integración e interoperabilidad perfectas en varias plataformas gracias a sus completas funciones de consulta y a la mejora de la experiencia del desarrollador. Además, IronPDF ofrece funciones completas y soporte para una manipulación robusta de PDF dentro de aplicaciones .NET.
9 productos API .NET para sus documentos de oficina