¿Qué es RestSharp y para qué sirve?
\n\nRestSharp es una popular biblioteca open-source para el lenguaje C# (.NET), diseñada para simplificar el trabajo con APIs RESTful. Proporciona una interfaz cómoda e intuitiva para realizar solicitudes HTTP (GET, POST, PUT, DELETE, PATCH y otras) y procesar respuestas de servicios web.
\n\nRestSharp resuelve varias tareas clave:
\n- \n
- Simplificación del código: En lugar de escribir código extenso usando
HttpClient, RestSharp ofrece una interfaz fluida y concisa. \n - Serialización/deserialización automática: La biblioteca convierte automáticamente sus objetos C# a JSON/XML y viceversa, eliminando el trabajo manual. \n
- Manejo conveniente de errores: RestSharp proporciona clases claras para manejar estados HTTP y excepciones. \n
- Soporte de autenticación: Soporte integrado para OAuth, Basic Auth, JWT y otros esquemas. \n
- Trabajo con archivos: Carga y descarga sencilla de archivos. \n
La biblioteca se utiliza activamente en aplicaciones .NET (ASP.NET Core, aplicaciones de consola, Xamarin, Unity) para la integración con servicios externos: redes sociales, sistemas de pago, plataformas en la nube, etc.
\n\nInstalación de RestSharp
\n\nRestSharp se instala a través del administrador de paquetes NuGet. Elija uno de los métodos:
\n\nA través de Package Manager Console (Visual Studio):
\nInstall-Package RestSharp\n\nA través de .NET CLI (línea de comandos):
\ndotnet add package RestSharp\n\nA través de la interfaz de NuGet (Visual Studio/Rider):
\nAbra Manage NuGet Packages → busque RestSharp → instale la última versión estable.
\n\nDespués de la instalación, agregue la directiva using en su código:
\nusing RestSharp;\n\nInicio rápido: primera solicitud
\n\nHagamos una solicitud GET simple a una API pública (JSONPlaceholder) y obtengamos una lista de usuarios.
\n\nusing RestSharp;\n\nvar client = new RestClient("https://jsonplaceholder.typicode.com");\nvar request = new RestRequest("/users", Method.Get);\n\nvar response = client.Execute(request);\n\nif (response.IsSuccessful)\n{\n Console.WriteLine(response.Content); // Muestra la cadena JSON\n}\nelse\n{\n Console.WriteLine($"Error: {response.StatusCode} - {response.ErrorMessage}");\n}\n\nEste código crea un cliente, forma una solicitud GET al endpoint /users y muestra la respuesta en la consola. Tenga en cuenta: response.IsSuccessful verifica que el estado de la respuesta esté en el rango 200-299.
Métodos y funciones principales de RestSharp
\n\nA continuación se presentan los métodos clave de la biblioteca con descripción, parámetros y ejemplos.
\n\n1. RestClient(string baseUrl) — Constructor del cliente
\nDescripción: Crea una instancia del cliente HTTP con una URL base. Todas las solicitudes posteriores usarán esta URL como base.
\nParámetros:
\n- \n
baseUrl(string) — dirección base de la API (por ejemplo,"https://api.example.com"). \n
Ejemplo:
\nvar client = new RestClient("https://api.github.com");\n\n2. RestRequest(string resource, Method method) — Creación de solicitud
\nDescripción: Forma una solicitud HTTP al recurso especificado con el método indicado (GET, POST, PUT, DELETE, etc.).
\nParámetros:
\n- \n
resource(string) — ruta relativa al recurso (por ejemplo,"/users"). \n method(Method) — método HTTP de la enumeraciónMethod(Get, Post, Put, Delete, Patch, Head, Options). \n
Ejemplo:
\nvar request = new RestRequ