AYUDA .NET

Flurl C# (Cómo funciona para desarrolladores)

Publicado en 13 de agosto, 2024
Compartir:

Introducción

Cuando se trata de desarrollo en C#, la incorporación de bibliotecas potentes puede aumentar significativamente el rendimiento y la capacidad. Dos de estas bibliotecas que funcionan bien juntas son Flurl yIronPDFnET, que ofrecen a los programadores potentes herramientas para crear PDF e interactuar con API en línea, respectivamente.

Flurl ofrece una sintaxis fluida y expresiva que facilita el trabajo con solicitudes HTTP, API y sus puntos finales de API en C#. Enviar peticiones HTTP, responder a ellas y gestionar parámetros de consulta o cabeceras son sólo algunas de las tareas que simplifica. Los desarrolladores pueden gestionar la autenticación, serializar y deserializar JSON y consumir API web de forma rápida y eficaz con Flurl, todo ello mientras escriben código legible y bien organizado.

Los desarrolladores pueden aprovechar la facilidad de uso y la versatilidad de Flurl junto con IronPDF para crear documentos PDF detallados y preparados conectándose con API web, recuperando datos e integrándolos en IronPDF con facilidad. Con esta integración, los programadores pueden diseñar aplicaciones complejas que, al automatizar la creación de documentos utilizando datos en tiempo real recuperados de servicios en línea, mejoran la productividad y la experiencia del usuario.

En esta introducción veremos cómo utilizar y combinar Flurl e IronPDF en un programa C#, haciendo hincapié en sus ventajas y potencial de sinergia en el desarrollo de software moderno y actual.

¿Qué es Flurl c#?

Flurl es una biblioteca de C# robusta y fácil de usar para gestionar peticiones HTTP y comunicarse con API en línea. Proporciona una sintaxis fluida y encadenable que mejora la legibilidad y el mantenimiento del código y reduce la complejidad de la interacción con las API RESTful. Con Flurl, los desarrolladores pueden crear y enviar fácilmente solicitudes HTTP, gestionar respuestas de forma sencilla y administrar parámetros de consulta, cabeceras y cargas útiles.

Una de las características más notables de Flurl es su capacidad para gestionar la construcción de URL de forma dinámica, lo que simplifica la creación y modificación de URL en función de las circunstancias de ejecución, permitiendo también su uso como constructor de URL independiente. Ofrece un sólido soporte para gestionar la serialización y deserialización de datos JSON y es compatible con funciones HTTP populares como GET, POST, PUT, DELETE, etc. Además, Flurl incorpora funciones para gestionar datos de formularios y parámetros de consulta, lo que lo hace adaptable a una amplia gama de escenarios de integración de API.

Interfaz fluida

La sintaxis fluida y encadenable que proporciona Flurl mejora la legibilidad y el mantenimiento de los programas. Los desarrolladores pueden crear peticiones HTTP sencillas y expresivas y trabajar con URL, parámetros de consulta, cabeceras y cargas útiles.

Compatibilidad con métodos HTTP

Se admiten todos los métodos HTTP estándar, incluidos GET, POST, PUT, DELETE, PATCH, HEAD y OPTIONS. Los desarrolladores pueden llevar a cabo diversas tareas cuando trabajan con API web gracias a este enfoque de asistencia integral.

Gestión de parámetros de consulta

Flurl ofrece formas sencillas de modificar, añadir y eliminar parámetros de consulta dentro de las URL. Facilita la creación de URL dinámicas basadas en la entrada del usuario o en situaciones de ejecución.

Compatibilidad con JSON

Flurl soporta de forma nativa el manejo de datos JSON. Puede deserializar fácilmente respuestas JSON en objetos C# y serializar objetos a JSON para cargas útiles de solicitud. Por eso, utilizar API basadas en JSON es sencillo y fácil.

Datos de formulario y soporte multiparte

Facilita la gestión de las solicitudes multiparte y de los datos de los formularios. Flurl facilita a los desarrolladores la inclusión de cargas útiles multipart/form-data o datos codificados mediante formulario en las peticiones HTTP.

Gestión de errores y políticas de reintento

Flurl ofrece funciones de definición de políticas de reintento y gestión de errores para todas las llamadas HTTP. Al definir una lógica única de gestión de errores o técnicas de reintento, los desarrolladores pueden mejorar la resistencia y fiabilidad de las llamadas e interacciones de la API. Esto también salvaguarda y ayuda a los desarrolladores a evitar que un objeto anónimo cause errores en las respuestas.

Autenticación

Admite varios métodos de autenticación habituales para API web, como OAuth, esquemas de autenticación personalizados, autenticación básica y claves API. Esto garantiza una comunicación segura con las API que requieren autenticación.

Apoyo a las pruebas

Al aislar la lógica relacionada con HTTP en componentes reutilizables con una clara separación de preocupaciones, Flurl fomenta la comprobabilidad. Esto simplifica la escritura de pruebas unitarias para las interacciones de la API, ya que no se requieren llamadas de red reales para probarlas.

Flexibilidad de configuración

Proporciona flexibilidad de configuración para clientes HTTP y parámetros de petición. Los desarrolladores pueden cambiar los comportamientos de los clientes, los tiempos de espera, las cantidades de respuestas de error, las cabeceras y otros ajustes para satisfacer las necesidades de aplicaciones concretas o las limitaciones de la API.

Extensibilidad

Gracias a su marco para plugins, Flurl es muy ampliable. Los desarrolladores pueden aumentar la funcionalidad de la plataforma creando extensiones únicas o incorporando plugins de terceros para obtener más funciones.

Crear y configurar Flurl c#

A continuación se indican los pasos necesarios para construir y configurar Flurl en un proyecto C#:

Crear un nuevo proyecto de Visual Studio

Es fácil crear un proyecto de consola con Visual Studio. Para iniciar una aplicación de consola en el entorno de Visual Studio, siga estos sencillos pasos:

Asegúrese de que Visual Studio está instalado en su ordenador antes de intentar utilizarlo.

Iniciar un nuevo proyecto

Seleccione Archivo, Proyecto y, a continuación, elija la opción Nuevo.

Flurl C#(Cómo funciona para desarrolladores): Figura 1 - Haga clic en la opción Nuevo

La "Aplicación Consola" o la "Aplicación Consola(.NET Core)"puede seleccionarse de la lista de referencias de plantillas de proyectos que figura a continuación.

Rellene el formulario "Nombre" para dar un nombre a su proyecto.

Flurl C#(Cómo funciona para desarrolladores): Figura 2 - Proporcione un nombre y una ubicación

Elige un lugar para guardar el proyecto.

Al hacer clic en "Crear" se abrirá el proyecto de la aplicación Consola.

Flurl C#(Cómo funciona para desarrolladores): Figura 3 - Haga clic en "Crear"

Instalar el paquete Flurl.Http

El primer paso es instalar el paquete Flurl.Http utilizando la consola del gestor de paquetes NuGet o el gestor de paquetes NuGet en Visual Studio.

Install-Package Flurl.Http
Install-Package Flurl.Http
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Crear una configuración FlurlClient

Flurl ofrece la clase FlurlClient, que permite establecer parámetros por defecto para cada petición HTTP que llegue utilizando sólo el constructor de URL. Este paso, opcional pero útil, puede realizarse estableciendo URLs base o cabeceras por defecto.

using Flurl;
using Flurl.Http;
// Configure a FlurlClient instance with base URL and headers
FlurlClient flurlClient = new FlurlClient("https://api.example.com/");
flurlClient.WithHeader("Authorization", "Bearer YourAccessTokenHere");
using Flurl;
using Flurl.Http;
// Configure a FlurlClient instance with base URL and headers
FlurlClient flurlClient = new FlurlClient("https://api.example.com/");
flurlClient.WithHeader("Authorization", "Bearer YourAccessTokenHere");
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Realizar solicitudes HTTP

Ahora puede realizar peticiones HTTP utilizando la URL fluida de Flurl.

var response = await "http://localhost:5013/users".GetAsync();
Console.WriteLine(response.ToString());
if (response.ResponseMessage.IsSuccessStatusCode)
{
    var result = await response.ResponseMessage.Content.ReadAsStringAsync();
    Console.WriteLine(result);
}
else
{
    Console.WriteLine($"Error: {response.StatusCode}");
}
var response = await "http://localhost:5013/users".GetAsync();
Console.WriteLine(response.ToString());
if (response.ResponseMessage.IsSuccessStatusCode)
{
    var result = await response.ResponseMessage.Content.ReadAsStringAsync();
    Console.WriteLine(result);
}
else
{
    Console.WriteLine($"Error: {response.StatusCode}");
}
Dim response = await "http://localhost:5013/users".GetAsync()
Console.WriteLine(response.ToString())
If response.ResponseMessage.IsSuccessStatusCode Then
	Dim result = Await response.ResponseMessage.Content.ReadAsStringAsync()
	Console.WriteLine(result)
Else
	Console.WriteLine($"Error: {response.StatusCode}")
End If
VB   C#

Flurl C#(Cómo funciona para desarrolladores): Figura 4 - ejemplo de salida de consola

Manejar las respuestas

Gestionar el contenido de las respuestas en función del formato previsto(JSON, cadena, etc.)httpResponseMessageExtensions de Flurl ofrece métodos de extensión, como ReceiveJson y ReceiveString.

// Handling JSON response
var responseObject = await "https://api.example.com/resource"
    .WithClient(flurlClient)
    .GetJsonAsync<ResponseType>();
// Assuming ResponseType is a class representing the expected JSON structure
Console.WriteLine($"Response: {responseObject.Property}");
// Handling JSON response
var responseObject = await "https://api.example.com/resource"
    .WithClient(flurlClient)
    .GetJsonAsync<ResponseType>();
// Assuming ResponseType is a class representing the expected JSON structure
Console.WriteLine($"Response: {responseObject.Property}");
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Configuración adicional

Parámetros de consulta: Para añadir parámetros de consulta, utilice la función .SetQueryParams() método. Asegúrese de que cada solicitud se ejecuta utilizando la misma instancia HttpClient para mayor eficiencia.

Tiempos de espera: Por ejemplo, puede configurar tiempos de espera con .WithTimeout(TimeSpan.FromSeconds(30)).

Manejo de errores: Para manejar escenarios de error particulares, utilice .OnError().

Primeros pasos

Cuando necesite recuperar datos de una API remota y crear documentos PDF utilizando esos datos, la integración de Flurl con IronPDF en un proyecto de C# puede resultar útil. Para empezar a utilizar Flurl e IronPDF, siga estos pasos:

¿Qué es IronPDF?

Los programas C# disponen de una biblioteca .NET muy completa llamada IronPDF para crear, leer y modificar documentos PDF. Con la ayuda de esta herramienta, los desarrolladores pueden generar rápidamente PDF de alta calidad listos para imprimir a partir de contenidos HTML, CSS y JavaScript. Algunas funciones esenciales son la capacidad de poner marcas de agua, hacer encabezados y pies de página, dividir y combinar PDF y convertir HTML a PDF. IronPDF es compatible con .NET Framework y .NET Core, lo que lo hace útil para diversas aplicaciones.

Como los PDF son fáciles de integrar y disponen de abundante documentación detallada, los desarrolladores pueden emplearlos fácilmente en sus aplicaciones. IronPDF garantiza que los PDF generados se parezcan mucho al contenido HTML de origen, ya que gestiona eficazmente diseños y estilos complicados.

Flurl C#(Cómo funciona para desarrolladores): Figura 5 - IronPDF: La biblioteca PDF de C#

Características de IronPDF

**Generación de PDF a partir de HTML

Convierte JavaScript, HTML y CSS a PDF. Es compatible con media queries y responsive design, dos estándares web contemporáneos. Es útil para decorar dinámicamente informes, facturas y documentos PDF con HTML y CSS.

**Edición de PDF

Se puede añadir texto, fotos y otros contenidos a PDF preexistentes. El texto y las imágenes se pueden eliminar de los archivos PDF. Se pueden combinar varios PDF en un solo archivo. Los archivos PDF pueden dividirse en varios documentos independientes. Se pueden incluir marcas de agua, anotaciones, encabezados y pies de página.

**Conversión de PDF

Convierte varios tipos de archivos, como Word, Excel y archivos de imagen, a formato PDF. Conversión de PDF a imagen(PNG, JPEG, etc.).

**Rendimiento y fiabilidad

El alto rendimiento y la fiabilidad son cualidades de diseño deseadas en entornos industriales, ya que pueden gestionar grandes colecciones de documentos con eficacia.

Instalar IronPDF

Para obtener las herramientas que necesita para trabajar con archivos PDF en proyectos .NET, instale el paquete IronPDF.

Install-Package IronPDF
Install-Package IronPDF
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPDF
VB   C#

Obtención de datos mediante Flurl para generar un PDF

Para realizar consultas HTTP y obtener datos de su API, utilice la API fluida de Flurl. Este es un ejemplo de recuperación de datos JSON:

using Flurl;
using Flurl.Http;
using IronPdf;
using System;
using System.Threading.Tasks;
class Program
{
    static async Task Main(string[] args)
    {
        try
        {
            var response = await "http://localhost:5013/users/1".GetJsonAsync<User>();
            var id = response?.Id;
            var name = response?.Name;
            Console.WriteLine($"Data fetched successfully: {name}");
            // Generate PDF using IronPDF
            var renderer = new HtmlToPdf();
            string htmlTemplate = $@"
                <html>
                <body>
                    <h1>{id}</h1>
                    <p>{name}</p>
                </body>
                </html>";
            // Generate PDF document from HTML template
            var pdfDocument = renderer.RenderHtmlAsPdf(htmlTemplate);
            // Save or stream the PDF document
            pdfDocument.SaveAs(@"document.pdf");
            Console.WriteLine("PDF document generated successfully.");
        }
        catch (FlurlHttpException ex)
        {
            Console.WriteLine($"HTTP Error: {ex.Message}");
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error: {ex.Message}");
        }
    }
}
// Example model class for JSON deserialization
public class User
{
    public int Id { get; set; }
    public string Name { get; set; }
}
using Flurl;
using Flurl.Http;
using IronPdf;
using System;
using System.Threading.Tasks;
class Program
{
    static async Task Main(string[] args)
    {
        try
        {
            var response = await "http://localhost:5013/users/1".GetJsonAsync<User>();
            var id = response?.Id;
            var name = response?.Name;
            Console.WriteLine($"Data fetched successfully: {name}");
            // Generate PDF using IronPDF
            var renderer = new HtmlToPdf();
            string htmlTemplate = $@"
                <html>
                <body>
                    <h1>{id}</h1>
                    <p>{name}</p>
                </body>
                </html>";
            // Generate PDF document from HTML template
            var pdfDocument = renderer.RenderHtmlAsPdf(htmlTemplate);
            // Save or stream the PDF document
            pdfDocument.SaveAs(@"document.pdf");
            Console.WriteLine("PDF document generated successfully.");
        }
        catch (FlurlHttpException ex)
        {
            Console.WriteLine($"HTTP Error: {ex.Message}");
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error: {ex.Message}");
        }
    }
}
// Example model class for JSON deserialization
public class User
{
    public int Id { get; set; }
    public string Name { get; set; }
}
Imports Flurl
Imports Flurl.Http
Imports IronPdf
Imports System
Imports System.Threading.Tasks
Friend Class Program
	Shared Async Function Main(ByVal args() As String) As Task
		Try
			Dim response = await "http://localhost:5013/users/1".GetJsonAsync(Of User)()
			Dim id = response?.Id
			Dim name = response?.Name
			Console.WriteLine($"Data fetched successfully: {name}")
			' Generate PDF using IronPDF
			Dim renderer = New HtmlToPdf()
			Dim htmlTemplate As String = $"
                <html>
                <body>
                    <h1>{id}</h1>
                    <p>{name}</p>
                </body>
                </html>"
			' Generate PDF document from HTML template
			Dim pdfDocument = renderer.RenderHtmlAsPdf(htmlTemplate)
			' Save or stream the PDF document
			pdfDocument.SaveAs("document.pdf")
			Console.WriteLine("PDF document generated successfully.")
		Catch ex As FlurlHttpException
			Console.WriteLine($"HTTP Error: {ex.Message}")
		Catch ex As Exception
			Console.WriteLine($"Error: {ex.Message}")
		End Try
	End Function
End Class
' Example model class for JSON deserialization
Public Class User
	Public Property Id() As Integer
	Public Property Name() As String
End Class
VB   C#

Uso de .GetJsonAsync de Flurl() función, el ejemplo envía una solicitud GET. Sustituya "Usuario" por su clase modelo, que representa la estructura de respuesta de la API, y "URL" por su punto final real de la API. Una plantilla HTML(htmlTemplate) puede convertirse en unDocumento PDF

(pdfDocumento) utilizando la clase HtmlToPdf de IronPDF. En este ejemplo, los datos de título y cuerpo recuperados de la API se utilizan para construir la plantilla HTML dinámicamente. En el sistema de archivos, el documento PDF creado(pdfDocumento) se guarda en el lugar indicado("documento.pdf"). Para llegar a donde quieres, cambia el camino.

Flurl C#(Cómo funciona para desarrolladores): Figura 6 - Ejemplo de salida de la consola

Proporcionar un sólido tratamiento de errores para problemas como fallos de red(FlurlHttpException) o excepciones generales(Excepción) durante la obtención de datos o la producción de PDF. Con IronPDF puede cambiar el tamaño de página, los márgenes, los encabezados, los pies de página y otras configuraciones de PDF. Para conocer las posibilidades de personalización más avanzadas, consulte el manual de uso de IronPDF. Al enviar consultas HTTP a las API, asegúrese de que los datos confidenciales y los tokens de acceso se gestionan de forma segura. Utilice los métodos de autenticación adecuados que requiera su API.

Conclusión

En resumen, combinar IronPDF para la generación de PDF con Flurl para la interacción API en una aplicación C# ofrece una potente combinación para recuperar datos de forma dinámica y producir documentos PDF de alta calidad. Con su fluida API, la biblioteca Flurl agiliza las peticiones HTTP y proporciona flexibilidad y facilidad de uso a la hora de recuperar datos de puntos finales distantes. Además, IronPDF facilita la traducción sencilla de material HTML a formato PDF, ofreciendo funciones ajustables como encabezados, márgenes y tamaño de página.

Al llevar a cabo esta integración, también es importante tener en cuenta la optimización de la velocidad, la seguridad de los datos y la gestión de errores. Siguiendo las mejores prácticas y utilizando las ventajas tanto de Flurl como de IronPDF, los desarrolladores pueden crear soluciones fiables y escalables que satisfagan con éxito los requisitos de las aplicaciones contemporáneas.

IronPDF ySuite de IronSoftware ofrece aplicaciones y capacidades en línea adicionales y un desarrollo más eficaz mediante la combinación de los sistemas y la suite altamente flexibles de IronSoftware con su soporte básico.

Si las alternativas de licencia son claras y específicas para las necesidades del proyecto, los desarrolladores pueden determinar mejor qué modelo es el ideal y la mejor práctica. Estas ventajas permiten a los desarrolladores gestionar una serie de cuestiones de forma clara, convincente e integrada sin esfuerzo.

< ANTERIOR
IdentityServer .NET (Cómo funciona para desarrolladores)
SIGUIENTE >
NServiceBus C# (Cómo funciona para desarrolladores)

¿Listo para empezar? Versión: 2024.12 acaba de salir

Descarga gratuita de NuGet Descargas totales: 11,622,374 Ver licencias >