Refitter 0.1.5-alpha
This is a prerelease version of Refitter.
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet tool install --global Refitter --version 0.1.5-alpha
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
dotnet tool install --local Refitter --version 0.1.5-alpha
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Refitter&version=0.1.5-alpha&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
nuke :add-package Refitter --version 0.1.5-alpha
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Refitter
Refitter is a CLI tool for generating a C# REST API Client using the Refit library.
Usage:
To generate code from an OpenAPI specifications file, run the following:
$ refitter [path to OpenAPI spec file]
This will generate a file called Output.cs which contains the Refit interface and contract classes generated using NSwag
Here's an example generated output from the Swagger Petstore example
using Refit;
using System.Threading.Tasks;
using System.Collections.Generic;
namespace GeneratedCode
{
public interface ISwaggerPetstore
{
[Put("/pet")]
Task<Pet> UpdatePet([Body]Pet body);
[Post("/pet")]
Task<Pet> AddPet([Body]Pet body);
[Get("/pet/findByStatus")]
Task<ICollection<Pet>> FindPetsByStatus();
[Get("/pet/findByTags")]
Task<ICollection<Pet>> FindPetsByTags();
[Get("/pet/{petId}")]
Task<Pet> GetPetById(long? petId);
[Post("/pet/{petId}")]
Task UpdatePetWithForm(long? petId);
[Delete("/pet/{petId}")]
Task DeletePet(long? petId);
[Post("/pet/{petId}/uploadImage")]
Task<ApiResponse> UploadFile(long? petId, [Body]FileParameter body);
[Get("/store/inventory")]
Task<IDictionary<string, int>> GetInventory();
[Post("/store/order")]
Task<Order> PlaceOrder([Body]Order body);
[Get("/store/order/{orderId}")]
Task<Order> GetOrderById(long? orderId);
[Delete("/store/order/{orderId}")]
Task DeleteOrder(long? orderId);
[Post("/user")]
Task CreateUser([Body]User body);
[Post("/user/createWithList")]
Task<User> CreateUsersWithListInput([Body]ICollection<User> body);
[Get("/user/login")]
Task<string> LoginUser();
[Get("/user/logout")]
Task LogoutUser();
[Get("/user/{username}")]
Task<User> GetUserByName(string username);
[Put("/user/{username}")]
Task UpdateUser(string username, [Body]User body);
[Delete("/user/{username}")]
Task DeleteUser(string username);
}
}
Here's an example usage of the generated code above
using Refit;
using System;
using System.Threading.Tasks;
namespace GeneratedCode;
internal class Program
{
private static async Task Main(string[] args)
{
var client = RestService.For<ISwaggerPetstore>("https://petstore3.swagger.io/api/v3");
var pet = await client.GetPetById(2);
Console.WriteLine($"Name: {pet.Name}");
Console.WriteLine($"Category: {pet.Category.Name}");
Console.WriteLine($"Status: {pet.Status}");
}
}
The RestService class generates an implementation of ISwaggerPetstore that uses HttpClient to make its calls.
The code above when run will output something like this:
Name: Gatitotototo
Category: Chaucito
Status: Sold
System requirements
.NET 7.0
For tips and tricks on software development, check out my blog
If you find this useful and feel a bit generous then feel free to buy me a coffee ☕
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.0.0-preview.105 | 61 | 4/21/2026 |
| 1.8.0-preview.104 | 38 | 4/21/2026 |
| 1.8.0-preview.103 | 73 | 4/17/2026 |
| 1.8.0-preview.102 | 128 | 4/7/2026 |
| 1.8.0-preview.101 | 128 | 3/27/2026 |
| 1.8.0-preview.100 | 60 | 3/26/2026 |
| 1.8.0-preview.99 | 191 | 3/8/2026 |
| 1.7.3 | 368,003 | 1/25/2026 |
| 1.7.3-preview.98 | 92 | 1/23/2026 |
| 1.7.3-preview.97 | 66 | 1/23/2026 |
| 1.7.3-preview.96 | 59 | 1/23/2026 |
| 1.7.3-preview.95 | 54 | 1/23/2026 |
| 1.7.3-preview.94 | 55 | 1/23/2026 |
| 1.7.3-preview.93 | 56 | 1/23/2026 |
| 1.7.3-preview.92 | 62 | 1/23/2026 |
| 1.7.3-preview.91 | 62 | 1/23/2026 |
| 1.7.3-preview.89 | 62 | 1/23/2026 |
| 1.7.3-preview.88 | 65 | 1/23/2026 |
| 1.7.2 | 65,222 | 1/21/2026 |
| 0.1.5-alpha | 413 | 2/18/2023 |
Loading failed