Skip to content

Releases: christianhelle/refitter

v1.4.0

14 Oct 10:11
Compare
Choose a tag to compare

What's New

  • Add support for generating multiple files per Refit interface
  • Required query parameters must be initialized from the constructor

What's Changed

Full Changelog: 1.3.0...1.4.0

v1.3.0

14 Sep 21:23
Compare
Choose a tag to compare

What's New

  • Add support for generating multiple files
  • Add support for customizing Contracts namespace and output path
  • System.Text.Json Polymorphic Serialization

What's Changed

New Contributors

Full Changelog: 1.2.0...1.3.0

v1.2.0

12 Aug 11:00
cffdcea
Compare
Choose a tag to compare

What's New

  • Generate Apizr flavored Refit interfaces
  • Option to wrap multiple query parameters into a single complex one
  • Option to only generate contracts (no Refit interfaces)

Installation

This is packaged as a .NET Tool and is published to nuget.org. You can install this specific version of this tool like this:

dotnet tool install --global Refitter --version 1.2.0

Features

  • Generate single file containing Refit interface and contract types from an OpenAPI spec file
  • Supports OpenAPI v2 and v3
  • Supports OpenAPI specifications in JSON and YAML formats
  • Supports OpenAPI specification validation and error/warning/stats reporting
  • Supports generating route, query, header, and body request parameters
  • Generate code at build time using rosyln C# source generator Refitter.SourceGenerator
  • --no-auto-generated-header CLI tool argument to skip prefixing output file with header
  • --interface-only CLI tool argument to skip contract type generation
  • --use-api-response CLI Tool argument to return IApiResponse<T> instead of Task<T>
  • --internal CLI tool argument to generate types with the internal accessibility modifier
  • --cancellation-tokens CLI tool argument to generate the Refit interface with CancellationTokens
  • --no-operation-headers CLI tool argument to skip generating [Header] parameters
  • --no-logging CLI tool argument to disable error logging and feature usage tracking
  • --use-iso-date-format CLI tool argument to explicitly format date query string parameters in ISO standard date format using delimiters (2023-06-15)
  • --multiple-interfaces CLI tool argument to generate a Refit interface for each endpoint. This may be either ByEndpoint or ByTag
  • --settings-file CLI tool argument to use a .refitter format file and override all other arguments
  • --skip-validation CLI tool argument to ignore all validation errors and attempt to generate code anyway
  • --match-path CLI tool argument to only include Paths that match the provided regular expression. May be set multiple times
  • --tag CLI tool argument to only include Endpoints that contain this tag. May be set multiple times and result in OR'ed evaluation
  • --optional-nullable-parameters CLI tool argument to make non-required query parameters to optional parameters in Refit interface
  • --operation-name-template CLI tool argument to append a prefix or suffix to the {operationName} template. This can also be used to customize the Execute() method name in the interfaces generated when --multiple-interfaces ByEndpoint is set
  • --trim-unused-schema CLI tool argument to remove unreferenced components schema to keep the generated output to a minimum
  • --keep-schema CLI tool argument to specify a collection of regular expressions to force to keep matching schema. This is used together with --trim-unused-schema
  • --skip-default-additional-properties CLI tool argument to skip default additional properties
  • --operation-name-generator CLI tool argument to NSwag IOperationNameGenerator implementation to use.
  • --use-observable-response CLI tool argument to return IObservable<T>
  • --use-apizr CLI tool argument to generate Apizr specific Refit interfaces and configuration code
  • --use-dynamic-querystring-parameters CLI tool argument to wrap multiple query parameters into a single complex one
  • --contract-only CLI tool to only generate contracts/models without any Refit interfaces

What's Changed

New Contributors

Full Changelog: 1.1.3...1.2.0

v1.1.3

19 Jul 11:21
8fac5a9
Compare
Choose a tag to compare

What's New

  • Add optional RefitterSettings in generated IoC registration code
  • Introduce --immutable-records CLI tool argument
  • Improve telemetry for --settings-file usage

Installation

This is packaged as a .NET Tool and is published to nuget.org. You can install this specific version of this tool like this:

dotnet tool install --global Refitter --version 1.1.3

Features

  • Generate single file containing Refit interface and contract types from an OpenAPI spec file
  • Supports OpenAPI v2 and v3
  • Supports OpenAPI specifications in JSON and YAML formats
  • Supports OpenAPI specification validation and error/warning/stats reporting
  • Supports generating route, query, header, and body request parameters
  • Generate code at build time using rosyln C# source generator Refitter.SourceGenerator
  • --no-auto-generated-header CLI tool argument to skip prefixing output file with header
  • --interface-only CLI tool argument to skip contract type generation
  • --use-api-response CLI Tool argument to return IApiResponse<T> instead of Task<T>
  • --internal CLI tool argument to generate types with the internal accessibility modifier
  • --cancellation-tokens CLI tool argument to generate the Refit interface with CancellationTokens
  • --no-operation-headers CLI tool argument to skip generating [Header] parameters
  • --no-logging CLI tool argument to disable error logging and feature usage tracking
  • --use-iso-date-format CLI tool argument to explicitly format date query string parameters in ISO standard date format using delimiters (2023-06-15)
  • --multiple-interfaces CLI tool argument to generate a Refit interface for each endpoint. This may be either ByEndpoint or ByTag
  • --settings-file CLI tool argument to use a .refitter format file and override all other arguments
  • --skip-validation CLI tool argument to ignore all validation errors and attempt to generate code anyway
  • --match-path CLI tool argument to only include Paths that match the provided regular expression. May be set multiple times
  • --tag CLI tool argument to only include Endpoints that contain this tag. May be set multiple times and result in OR'ed evaluation
  • --optional-nullable-parameters CLI tool argument to make non-required query parameters to optional parameters in Refit interface
  • --operation-name-template CLI tool argument to append a prefix or suffix to the {operationName} template. This can also be used to customize the Execute() method name in the interfaces generated when --multiple-interfaces ByEndpoint is set
  • --trim-unused-schema CLI tool argument to remove unreferenced components schema to keep the generated output to a minimum
  • --keep-schema CLI tool argument to specify a collection of regular expressions to force to keep matching schema. This is used together with --trim-unused-schema
  • --skip-default-additional-properties CLI tool argument to skip default additional properties
  • --operation-name-generator CLI tool argument to NSwag IOperationNameGenerator implementation to use.
  • --use-observable-response CLI tool argument to return IObservable<T>

Contributions

Read more

v1.1.1

06 Jul 09:26
Compare
Choose a tag to compare

What's New

  • Add support for Microsoft HTTP Resilience library
  • Add support for generating immutable records

Installation

This is packaged as a .NET Tool and is published to nuget.org. You can install this specific version of this tool like this:

dotnet tool install --global Refitter --version 1.1.1

Features

  • Generate single file containing Refit interface and contract types from an OpenAPI spec file
  • Supports OpenAPI v2 and v3
  • Supports OpenAPI specifications in JSON and YAML formats
  • Supports OpenAPI specification validation and error/warning/stats reporting
  • Supports generating route, query, header, and body request parameters
  • Generate code at build time using rosyln C# source generator Refitter.SourceGenerator
  • --no-auto-generated-header CLI tool argument to skip prefixing output file with header
  • --interface-only CLI tool argument to skip contract type generation
  • --use-api-response CLI Tool argument to return IApiResponse<T> instead of Task<T>
  • --internal CLI tool argument to generate types with the internal accessibility modifier
  • --cancellation-tokens CLI tool argument to generate the Refit interface with CancellationTokens
  • --no-operation-headers CLI tool argument to skip generating [Header] parameters
  • --no-logging CLI tool argument to disable error logging and feature usage tracking
  • --use-iso-date-format CLI tool argument to explicitly format date query string parameters in ISO standard date format using delimiters (2023-06-15)
  • --multiple-interfaces CLI tool argument to generate a Refit interface for each endpoint. This may be either ByEndpoint or ByTag
  • --settings-file CLI tool argument to use a .refitter format file and override all other arguments
  • --skip-validation CLI tool argument to ignore all validation errors and attempt to generate code anyway
  • --match-path CLI tool argument to only include Paths that match the provided regular expression. May be set multiple times
  • --tag CLI tool argument to only include Endpoints that contain this tag. May be set multiple times and result in OR'ed evaluation
  • --optional-nullable-parameters CLI tool argument to make non-required query parameters to optional parameters in Refit interface
  • --operation-name-template CLI tool argument to append a prefix or suffix to the {operationName} template. This can also be used to customize the Execute() method name in the interfaces generated when --multiple-interfaces ByEndpoint is set
  • --trim-unused-schema CLI tool argument to remove unreferenced components schema to keep the generated output to a minimum
  • --keep-schema CLI tool argument to specify a collection of regular expressions to force to keep matching schema. This is used together with --trim-unused-schema
  • --skip-default-additional-properties CLI tool argument to skip default additional properties
  • --operation-name-generator CLI tool argument to NSwag IOperationNameGenerator implementation to use.
  • --use-observable-response CLI tool argument to return IObservable<T>

Contributions

Read more

v1.0.1

07 Jun 14:09
Compare
Choose a tag to compare

What's New

Installation

This is packaged as a .NET Tool and is published to nuget.org. You can install this specific version of this tool like this:

dotnet tool install --global Refitter --version 1.0.1

Features

  • Generate single file containing Refit interface and contract types from an OpenAPI spec file
  • Supports OpenAPI v2 and v3
  • Supports OpenAPI specifications in JSON and YAML formats
  • Supports OpenAPI specification validation and error/warning/stats reporting
  • Supports generating route, query, header, and body request parameters
  • Generate code at build time using rosyln C# source generator Refitter.SourceGenerator
  • --no-auto-generated-header CLI tool argument to skip prefixing output file with header
  • --interface-only CLI tool argument to skip contract type generation
  • --use-api-response CLI Tool argument to return IApiResponse<T> instead of Task<T>
  • --internal CLI tool argument to generate types with the internal accessibility modifier
  • --cancellation-tokens CLI tool argument to generate the Refit interface with CancellationTokens
  • --no-operation-headers CLI tool argument to skip generating [Header] parameters
  • --no-logging CLI tool argument to disable error logging and feature usage tracking
  • --use-iso-date-format CLI tool argument to explicitly format date query string parameters in ISO standard date format using delimiters (2023-06-15)
  • --multiple-interfaces CLI tool argument to generate a Refit interface for each endpoint. This may be either ByEndpoint or ByTag
  • --settings-file CLI tool argument to use a .refitter format file and override all other arguments
  • --skip-validation CLI tool argument to ignore all validation errors and attempt to generate code anyway
  • --match-path CLI tool argument to only include Paths that match the provided regular expression. May be set multiple times
  • --tag CLI tool argument to only include Endpoints that contain this tag. May be set multiple times and result in OR'ed evaluation
  • --optional-nullable-parameters CLI tool argument to make non-required query parameters to optional parameters in Refit interface
  • --operation-name-template CLI tool argument to append a prefix or suffix to the {operationName} template. This can also be used to customize the Execute() method name in the interfaces generated when --multiple-interfaces ByEndpoint is set
  • --trim-unused-schema CLI tool argument to remove unreferenced components schema to keep the generated output to a minimum
  • --keep-schema CLI tool argument to specify a collection of regular expressions to force to keep matching schema. This is used together with --trim-unused-schema
  • --skip-default-additional-properties CLI tool argument to skip default additional properties
  • --operation-name-generator CLI tool argument to NSwag IOperationNameGenerator implementation to use.
  • --use-observable-response CLI tool argument to return IObservable<T>

Contributions

Read more

v1.0.0

04 May 09:29
0b1826c
Compare
Choose a tag to compare

What's New

Installation

This is packaged as a .NET Tool and is published to nuget.org. You can install this specific version of this tool like this:

dotnet tool install --global Refitter --version 1.0.0

Features

  • Generate single file containing Refit interface and contract types from an OpenAPI spec file
  • Supports OpenAPI v2 and v3
  • Supports OpenAPI specifications in JSON and YAML formats
  • Supports OpenAPI specification validation and error/warning/stats reporting
  • Supports generating route, query, header, and body request parameters
  • Generate code at build time using rosyln C# source generator Refitter.SourceGenerator
  • --no-auto-generated-header CLI tool argument to skip prefixing output file with header
  • --interface-only CLI tool argument to skip contract type generation
  • --use-api-response CLI Tool argument to return IApiResponse<T> instead of Task<T>
  • --internal CLI tool argument to generate types with the internal accessibility modifier
  • --cancellation-tokens CLI tool argument to generate the Refit interface with CancellationTokens
  • --no-operation-headers CLI tool argument to skip generating [Header] parameters
  • --no-logging CLI tool argument to disable error logging and feature usage tracking
  • --use-iso-date-format CLI tool argument to explicitly format date query string parameters in ISO standard date format using delimiters (2023-06-15)
  • --multiple-interfaces CLI tool argument to generate a Refit interface for each endpoint. This may be either ByEndpoint or ByTag
  • --settings-file CLI tool argument to use a .refitter format file and override all other arguments
  • --skip-validation CLI tool argument to ignore all validation errors and attempt to generate code anyway
  • --match-path CLI tool argument to only include Paths that match the provided regular expression. May be set multiple times
  • --tag CLI tool argument to only include Endpoints that contain this tag. May be set multiple times and result in OR'ed evaluation
  • --optional-nullable-parameters CLI tool argument to make non-required query parameters to optional parameters in Refit interface
  • --operation-name-template CLI tool argument to append a prefix or suffix to the {operationName} template. This can also be used to customize the Execute() method name in the interfaces generated when --multiple-interfaces ByEndpoint is set
  • --trim-unused-schema CLI tool argument to remove unreferenced components schema to keep the generated output to a minimum
  • --keep-schema CLI tool argument to specify a collection of regular expressions to force to keep matching schema. This is used together with --trim-unused-schema
  • --skip-default-additional-properties CLI tool argument to skip default additional properties
  • --operation-name-generator CLI tool argument to NSwag IOperationNameGenerator implementation to use.
  • --use-observable-response CLI tool argument to return IObservable<T>

Contributions

Read more

v0.9.9

07 Mar 09:44
e45df20
Compare
Choose a tag to compare

What's New

  • Suggest using --skip-validation CLI tool argument validation error in #329
  • XML code doc improvements by @osc-nseguin in #332

Installation

This is packaged as a .NET Tool and is published to nuget.org. You can install this specific version of this tool like this:

dotnet tool install --global Refitter --version 0.9.9

Features

  • Generate single file containing Refit interface and contract types from an OpenAPI spec file
  • Supports OpenAPI v2 and v3
  • Supports OpenAPI specifications in JSON and YAML formats
  • Supports OpenAPI specification validation and error/warning/stats reporting
  • Supports generating route, query, header, and body request parameters
  • Generate code at build time using rosyln C# source generator Refitter.SourceGenerator
  • --no-auto-generated-header CLI tool argument to skip prefixing output file with header
  • --interface-only CLI tool argument to skip contract type generation
  • --use-api-response CLI Tool argument to return IApiResponse<T> instead of Task<T>
  • --internal CLI tool argument to generate types with the internal accessibility modifier
  • --cancellation-tokens CLI tool argument to generate the Refit interface with CancellationTokens
  • --no-operation-headers CLI tool argument to skip generating [Header] parameters
  • --no-logging CLI tool argument to disable error logging and feature usage tracking
  • --use-iso-date-format CLI tool argument to explicitly format date query string parameters in ISO standard date format using delimiters (2023-06-15)
  • --multiple-interfaces CLI tool argument to generate a Refit interface for each endpoint. This may be either ByEndpoint or ByTag
  • --settings-file CLI tool argument to use a .refitter format file and override all other arguments
  • --skip-validation CLI tool argument to ignore all validation errors and attempt to generate code anyway
  • --match-path CLI tool argument to only include Paths that match the provided regular expression. May be set multiple times
  • --tag CLI tool argument to only include Endpoints that contain this tag. May be set multiple times and result in OR'ed evaluation
  • --optional-nullable-parameters CLI tool argument to make non-required query parameters to optional parameters in Refit interface
  • --operation-name-template CLI tool argument to append a prefix or suffix to the {operationName} template. This can also be used to customize the Execute() method name in the interfaces generated when --multiple-interfaces ByEndpoint is set
  • --trim-unused-schema CLI tool argument to remove unreferenced components schema to keep the generated output to a minimum
  • --keep-schema CLI tool argument to specify a collection of regular expressions to force to keep matching schema. This is used together with --trim-unused-schema
  • --skip-default-additional-properties CLI tool argument to skip default additional properties
  • --operation-name-generator CLI tool argument to NSwag IOperationNameGenerator implementation to use.
  • --use-observable-response CLI tool argument to return IObservable<T>

What's Changed

Read more

v0.9.8

27 Feb 09:33
349d1ed
Compare
Choose a tag to compare

What's New

Installation

This is packaged as a .NET Tool and is published to nuget.org. You can install this specific version of this tool like this:

dotnet tool install --global Refitter --version 0.9.8

Features

  • Generate single file containing Refit interface and contract types from an OpenAPI spec file
  • Supports OpenAPI v2 and v3
  • Supports OpenAPI specifications in JSON and YAML formats
  • Supports OpenAPI specification validation and error/warning/stats reporting
  • Supports generating route, query, header, and body request parameters
  • Generate code at build time using rosyln C# source generator Refitter.SourceGenerator
  • --no-auto-generated-header CLI tool argument to skip prefixing output file with header
  • --interface-only CLI tool argument to skip contract type generation
  • --use-api-response CLI Tool argument to return IApiResponse<T> instead of Task<T>
  • --internal CLI tool argument to generate types with the internal accessibility modifier
  • --cancellation-tokens CLI tool argument to generate the Refit interface with CancellationTokens
  • --no-operation-headers CLI tool argument to skip generating [Header] parameters
  • --no-logging CLI tool argument to disable error logging and feature usage tracking
  • --use-iso-date-format CLI tool argument to explicitly format date query string parameters in ISO standard date format using delimiters (2023-06-15)
  • --multiple-interfaces CLI tool argument to generate a Refit interface for each endpoint. This may be either ByEndpoint or ByTag
  • --settings-file CLI tool argument to use a .refitter format file and override all other arguments
  • --skip-validation CLI tool argument to ignore all validation errors and attempt to generate code anyway
  • --match-path CLI tool argument to only include Paths that match the provided regular expression. May be set multiple times
  • --tag CLI tool argument to only include Endpoints that contain this tag. May be set multiple times and result in OR'ed evaluation
  • --optional-nullable-parameters CLI tool argument to make non-required query parameters to optional parameters in Refit interface
  • --operation-name-template CLI tool argument to append a prefix or suffix to the {operationName} template. This can also be used to customize the Execute() method name in the interfaces generated when --multiple-interfaces ByEndpoint is set
  • --trim-unused-schema CLI tool argument to remove unreferenced components schema to keep the generated output to a minimum
  • --keep-schema CLI tool argument to specify a collection of regular expressions to force to keep matching schema. This is used together with --trim-unused-schema
  • --skip-default-additional-properties CLI tool argument to skip default additional properties
  • --operation-name-generator CLI tool argument to NSwag IOperationNameGenerator implementation to use.
  • --use-observable-response CLI tool argument to return IObservable<T>

What's Changed

Read more

v0.9.7

07 Feb 14:42
4c02d0a
Compare
Choose a tag to compare

Installation

This is packaged as a .NET Tool and is published to nuget.org. You can install this specific version of this tool like this:

dotnet tool install --global Refitter --version 0.9.7

Features

  • Generate single file containing Refit interface and contract types from an OpenAPI spec file
  • Supports OpenAPI v2 and v3
  • Supports OpenAPI specifications in JSON and YAML formats
  • Supports OpenAPI specification validation and error/warning/stats reporting
  • Supports generating route, query, header, and body request parameters
  • Generate code at build time using rosyln C# source generator Refitter.SourceGenerator
  • --no-auto-generated-header CLI tool argument to skip prefixing output file with header
  • --interface-only CLI tool argument to skip contract type generation
  • --use-api-response CLI Tool argument to return IApiResponse<T> instead of Task<T>
  • --internal CLI tool argument to generate types with the internal accessibility modifier
  • --cancellation-tokens CLI tool argument to generate the Refit interface with CancellationTokens
  • --no-operation-headers CLI tool argument to skip generating [Header] parameters
  • --no-logging CLI tool argument to disable error logging and feature usage tracking
  • --use-iso-date-format CLI tool argument to explicitly format date query string parameters in ISO standard date format using delimiters (2023-06-15)
  • --multiple-interfaces CLI tool argument to generate a Refit interface for each endpoint. This may be either ByEndpoint or ByTag
  • --settings-file CLI tool argument to use a .refitter format file and override all other arguments
  • --skip-validation CLI tool argument to ignore all validation errors and attempt to generate code anyway
  • --match-path CLI tool argument to only include Paths that match the provided regular expression. May be set multiple times
  • --tag CLI tool argument to only include Endpoints that contain this tag. May be set multiple times and result in OR'ed evaluation
  • --optional-nullable-parameters CLI tool argument to make non-required query parameters to optional parameters in Refit interface
  • --operation-name-template CLI tool argument to append a prefix or suffix to the {operationName} template. This can also be used to customize the Execute() method name in the interfaces generated when --multiple-interfaces ByEndpoint is set
  • --trim-unused-schema CLI tool argument to remove unreferenced components schema to keep the generated output to a minimum
  • --keep-schema CLI tool argument to specify a collection of regular expressions to force to keep matching schema. This is used together with --trim-unused-schema
  • --skip-default-additional-properties CLI tool argument to skip default additional properties
  • --operation-name-generator CLI tool argument to NSwag IOperationNameGenerator implementation to use.

What's Changed

New Contributors

Read more