
melbournedeveloper/restclient.net
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
Самый безопасный способ совершать REST-вызовы на C# с помощью генератора MCP
Обзор
Генерируйте MCP-серверы на основе спецификаций OpenAPI!! Построен с нуля с функциональным программированием, безопасностью типов и современными шаблонами .NET. Преемник оригинального RestClient.Net. Эта библиотека бескомпромиссна в подходе к безопасности типов и функциональному дизайну: - - Работает с управлением жизненным циклом HttpClient через IHttpClientFactory.CreateClient() - - Явная обработка ошибок без исключений - - Гарантии времени компиляции через Exhaustion - - Чистые функции без интерфейсов - из спецификации OpenAPI 3.x. - - Возвращает результаты > с закрытыми типами иерархии для безопасности компиляции (пакет результатов) - - Нет исключений для предсказуемой обработки ошибок - - Встроенное отслеживание прогресса загрузки/загрузки - - Поддержка политик повторных попыток и паттернов устойчивости на основе конвенций - - Современные асинхронные паттерны по всему процессу - - Работает с IHttpClientFactory.
Обзор (машинный перевод)
Самый безопасный способ совершать звонки REST в C#
Новое! Генерировать MCP-серверы из спецификаций OpenAPI!!
Построен с нуля с функциональным программированием, безопасностью типов и современными шаблонами .NET. Преемник оригинального RestClient.Net.
Что делает его особенным
Эта библиотека бескомпромиссна в подходе к безопасности шрифтов и функциональному дизайну:
- Расширения HttpClient - Работает с управлением жизненным циклом HttpClient через
IHttpClientFactory.CreateClient() - Типы результатов - Явная обработка ошибок без исключений
- Проверка исчерпываемости - Гарантии времени компиляции через Exhaustion
- Функциональная композиция - Чистые функции без интерфейсов
Особенности
- Генерировать MCP сервер и клиентский код из спецификации OpenAPI 3.x.
- Типы результатов - Возвращает
Result >с замкнутыми иерархиями для безопасности при компиляции (пакет результатов) - Zero Exceptions - Нет исключения для предсказуемой обработки ошибок
- Отчетность о прогрессе — встроенное отслеживание прогресса загрузки/загрузки
- Polly Integration - Поддержка политик повторных попыток на основе конвенций и паттернов устойчивости
- Асинхрон/Только ожидание - Современные асинхронные паттерны на протяжении всего процесса
Эта страница переведена автоматически. Технические детали смотрите в оригинале.
README
Показан фрагмент оригинального README. Открыть оригинал.
RestClient.Net
The safest way to make REST calls in C#
New! Generate MCP servers from OpenAPI specs!!!
Built from the ground up with functional programming, type safety, and modern .NET patterns. Successor to the original RestClient.Net.
What Makes It Different
This library is uncompromising in its approach to type safety and functional design:
- HttpClient extensions - Works with HttpClient lifecycle management via
IHttpClientFactory.CreateClient() - Result types - Explicit error handling without exceptions
- Exhaustiveness checking - Compile-time guarantees via Exhaustion
- Functional composition - Pure functions with no interfaces
Features
- Generate an MCP Server and client code from an OpenAPI 3.x spec.
- Result Types - Returns
Result>with closed hierarchy types for compile-time safety (Outcome package) - Zero Exceptions - No exception throwing for predictable error handling
- Progress Reporting - Built-in download/upload progress tracking
- Polly Integration - Support for convention-based retry policies and resilience patterns
- Async/Await Only - Modern async patterns throughout
- HttpClient Extensions - Works with
IHttpClientFactory.CreateClient()for proper pooled connections and DNS behavior handling - Exhaustiveness Checking - Uses Exhaustion for compile-time completeness guarantees (stopgap until C# adds discriminated unions)
The design focuses on discriminated unions for results, and adding the Exhaustion analyzer package gives you exhaustive pattern matching on type in C#. RestClient.Net is well ahead of the game. You can use discriminated unions with exhaustiveness checks in C# right now.
Installation
Install the core package:
dotnet add package RestClient.Net
RestClient.Net installs the Exhaustion analyzer. Is is a Roslyn analyzer that provides compile-time exhaustiveness checking for pattern matching. Without it, you lose one of RestClient.Net’s core safety guarantees.
Usage
Basic GET Request
A complete example making a GET request to JSONPlaceholder:
using System.Text.Json;
using RestClient.Net;
using Urls;
// Define models
Установка
This server does not publish a one-line install command.
Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →