Refitter.SourceGenerator 0.7.0.20-preview

Additional Details

The generated Refit interface is not picked up by Refit so RestService.For<T>() fails to resolve the interface. See https://github.com/christianhelle/refitter/issues/100

This is a prerelease version of Refitter.SourceGenerator.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Refitter.SourceGenerator --version 0.7.0.20-preview
                    
NuGet\Install-Package Refitter.SourceGenerator -Version 0.7.0.20-preview
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Refitter.SourceGenerator" Version="0.7.0.20-preview">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Refitter.SourceGenerator" Version="0.7.0.20-preview" />
                    
Directory.Packages.props
<PackageReference Include="Refitter.SourceGenerator">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Refitter.SourceGenerator --version 0.7.0.20-preview
                    
#r "nuget: Refitter.SourceGenerator, 0.7.0.20-preview"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Refitter.SourceGenerator@0.7.0.20-preview
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Refitter.SourceGenerator&version=0.7.0.20-preview&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Refitter.SourceGenerator&version=0.7.0.20-preview&prerelease
                    
Install as a Cake Tool

NuGet

Refitter Source Generator

A C# Source Generator that uses Refitter for generating a REST API Client using the Refit library. Refitter can generate the Refit interface from OpenAPI specifications

Installation

The source generator is distributed as a NuGet package and should be installed to the project that will contain the generated code

dotnet add package Refitter.SourceGenerator

Usage

This source generator generates code based on any .refitter file included to the project as AdditionalFiles.

The generator can automatically detect all .refitter files inside the project that referenced the Refitter.SourceGenerator package and there is no need to include them manually as AdditionalFiles

File format

{
  "openApiPath": "/path/to/your/openAPI", // Required
  "namespace": "Org.System.Service.Api.GeneratedCode", // Optional. Default=GeneratedCode
  "naming": {
    "useOpenApiTitle": false, // Optional. Default=true
    "interfaceName": "MyApiClient" // Optional. Default=ApiClient
  },
  "generateContracts": true, // Optional. Default=true
  "generateXmlDocCodeComments": true, // Optional. Default=true
  "addAutoGeneratedHeader": true, // Optional. Default=true
  "returnIApiResponse": false, // Optional. Default=false
  "generateOperationHeaders": true, // Optional. Default=true
  "typeAccessibility": "Public", // Optional. Values=Public|Internal. Default=Public
  "useCancellationTokens": false, // Optional. Default=false
  "useIsoDateFormat": false, // Optional. Default=false
  "additionalNamespaces": [ // Optional
    "Namespace1",
    "Namespace2"
  ]
}
  • openApiPath - points to the OpenAPI Specifications file. This can be the path to a file stored on disk, relative to the .refitter file. This can also be a URL to a remote file that will be downloaded over HTTP/HTTPS
  • namespace - the namespace used in the generated code. If not specified, this defaults to GeneratedCode
  • naming.useOpenApiTitle - a boolean indicating whether the OpenApi title should be used. Default is true
  • naming.interfaceName - the name of the generated interface. The generated code will automatically prefix this with I so if this set to MyApiClient then the generated interface is called IMyApiClient. Default is ApiClient
  • generateContracts - a boolean indicating whether contracts should be generated. A use case for this is several API clients use the same contracts. Default is true
  • generateXmlDocCodeComments - a boolean indicating whether XML doc comments should be generated. Default is true
  • addAutoGeneratedHeader - a boolean indicating whether XML doc comments should be generated. Default is true
  • returnIApiResponse - a boolean indicating whether to return IApiResponse<T> objects. Default is false
  • generateOperationHeaders - a boolean indicating whether to use operation headers in the generated methods. Default is true
  • typeAccessibility - the generated type accessibility. Possible values are Public and Internal. Default is Public
  • useCancellationTokens - Use cancellation tokens in the generated methods. Default is false
  • useIsoDateFormat - Set to true to explicitly format date query string parameters in ISO 8601 standard date format using delimiters (for example: 2023-06-15). Default is false
  • additionalNamespaces - A collection of additional namespaces to include in the generated file. A use case for this is when you want to reuse contracts from a different namespace than the generated code. Default is empty
There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

  • .NETStandard 2.0

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.6.1 377 7/8/2025
1.6.1-preview.75 113 7/8/2025
1.6.0 1,129 6/17/2025
1.6.0-preview.74 267 6/10/2025
1.5.6 624 6/7/2025
1.5.6-preview.73 59 5/31/2025
1.5.5 6,304 5/4/2025
1.5.5-preview.70 57 5/30/2025
1.5.5-preview.69 119 4/30/2025
1.5.4 374 4/26/2025
1.5.3 2,996 3/30/2025
1.5.3-preview.68 264 3/23/2025
1.5.3-preview.67 746 1/30/2025
1.5.2 4,817 1/29/2025
1.5.1 573 1/25/2025
1.5.1-preview.66 72 1/25/2025
1.5.0 407 1/19/2025
1.5.0-preview.65 128 12/8/2024
1.5.0-preview.64 75 12/7/2024
1.5.0-preview.63 85 12/7/2024
1.4.1 14,804 11/20/2024
1.4.1-preview.62 94 11/4/2024
1.4.0 6,829 10/14/2024
1.4.0-preview.61 80 10/7/2024
1.3.2 8,324 9/23/2024
1.3.2-preview.60 84 9/23/2024
1.3.1 1,106 9/20/2024
1.3.0 2,129 9/14/2024
1.2.1-preview.59 81 9/13/2024
1.2.1-preview.58 160 9/11/2024
1.2.1-preview.57 90 9/11/2024
1.2.1-preview.56 76 9/9/2024
1.2.1-preview.55 86 9/2/2024
1.2.1-preview.54 76 8/29/2024
1.2.0 3,264 8/12/2024
1.2.0-preview.53 54 8/4/2024
1.2.0-preview.52 72 7/29/2024
1.1.3 22,807 7/19/2024
1.1.3-preview.51 82 7/19/2024
1.1.2 24,884 7/17/2024 1.1.2 is deprecated because it has critical bugs.
1.1.2-preview.50 64 7/16/2024
1.1.2-preview.49 88 7/11/2024
1.1.1 187,464 7/6/2024
1.1.1-preview.48 75 7/4/2024
1.1.1-preview.47 80 7/1/2024
1.1.1-preview.46 88 6/28/2024
1.1.0.45-preview 129 6/25/2024
1.0.2 237,923 6/13/2024
1.0.1 48,539 6/7/2024
1.0.0 246,789 5/3/2024
0.9.9.44-preview 111 4/29/2024
0.9.9 10,891 3/7/2024
0.9.8 2,123 2/27/2024
0.9.7 73,459 2/7/2024
0.9.6 314 1/29/2024
0.9.5 33,748 1/15/2024
0.9.4.43-preview 196 1/15/2024
0.9.4 32,204 1/12/2024
0.9.3.42-preview 168 1/10/2024
0.9.2 20,258 1/10/2024
0.9.1 4,323 1/9/2024
0.9.0 11,387 1/9/2024
0.8.7.41-preview 179 1/3/2024
0.8.7.40-preview 253 12/20/2023
0.8.7 59,410 12/18/2023
0.8.6.39-preview 462 12/14/2023
0.8.6.38-preview 157 12/14/2023
0.8.6 10,495 12/11/2023
0.8.5 767 11/23/2023
0.8.4 840 11/7/2023
0.8.3 232 10/31/2023
0.8.2 2,471 10/9/2023
0.8.1 268 10/4/2023
0.8.0 9,182 9/23/2023
0.7.5 244 9/7/2023
0.7.4 237 9/6/2023
0.7.3.37-preview 287 8/25/2023
0.7.3.36-preview 190 8/25/2023
0.7.3.35-preview 254 8/21/2023
0.7.3.34-preview 225 8/15/2023
0.7.3.33-preview 400 8/12/2023
0.7.3 962 8/26/2023
0.7.2.32-preview 350 8/7/2023 0.7.2.32-preview is deprecated because it has critical bugs.
0.7.2 337 8/7/2023 0.7.2 is deprecated because it has critical bugs.
0.7.1.31-preview 360 8/2/2023 0.7.1.31-preview is deprecated because it has critical bugs.
0.7.1.30-preview 337 8/2/2023 0.7.1.30-preview is deprecated because it has critical bugs.
0.7.1.29-preview 226 8/1/2023 0.7.1.29-preview is deprecated because it has critical bugs.
0.7.1 299 8/3/2023 0.7.1 is deprecated because it has critical bugs.
0.7.0.28-preview 294 7/28/2023 0.7.0.28-preview is deprecated because it has critical bugs.
0.7.0.27-preview 312 7/28/2023 0.7.0.27-preview is deprecated because it has critical bugs.
0.7.0.26-preview 308 7/27/2023 0.7.0.26-preview is deprecated because it has critical bugs.
0.7.0.23-preview 320 7/27/2023 0.7.0.23-preview is deprecated because it has critical bugs.
0.7.0.22-preview 295 7/27/2023 0.7.0.22-preview is deprecated because it has critical bugs.
0.7.0.21-preview 265 7/27/2023 0.7.0.21-preview is deprecated because it has critical bugs.
0.7.0.20-preview 273 7/27/2023 0.7.0.20-preview is deprecated because it has critical bugs.
0.7.0 231 7/31/2023 0.7.0 is deprecated because it has critical bugs.
0.6.3.10 264 7/26/2023 0.6.3.10 is deprecated because it has critical bugs.
0.6.3.9 238 7/26/2023 0.6.3.9 is deprecated because it has critical bugs.
0.6.3.8 369 7/26/2023 0.6.3.8 is deprecated because it has critical bugs.
0.6.3.7-preview 295 7/26/2023 0.6.3.7-preview is deprecated because it has critical bugs.
0.6.3.6-preview 251 7/26/2023 0.6.3.6-preview is deprecated because it has critical bugs.
0.6.3.5-preview 310 7/26/2023 0.6.3.5-preview is deprecated because it has critical bugs.
0.6.3.4-preview 300 7/26/2023 0.6.3.4-preview is deprecated because it has critical bugs.