MR

melbournedeveloper/restclient.net

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

404 stars 51 forks Качество 53 Тренд 39

Самый безопасный способ совершать 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
Открыть полный README на GitHub

Установка

This server does not publish a one-line install command.

Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →