F# generative Type Provider that auto-generates strongly-typed HTTP client code from OpenAPI/Swagger schemas at compile time.
SwaggerProvider is an F# generative Type Provider library that automatically generates strongly-typed HTTP client code from OpenAPI 3.0 and Swagger 2.0 schemas. It solves the problem of manually writing or generating boilerplate client code for REST APIs by providing compile-time type safety and seamless integration into F# development workflows.
F# developers and .NET teams building applications that consume REST APIs, especially those who want type-safe API interactions without external code generation tools.
Developers choose SwaggerProvider for its zero-code-generation approach, which leverages F# Type Providers to create types at compile time, offering immediate IDE support, reduced boilerplate, and enhanced security with built-in SSRF protection.
F# generative Type Provider for Swagger
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Generates strongly-typed code directly from schemas at compile time, eliminating manual generation steps and catching errors early without extra tooling.
Provides auto-complete and type-checking for API endpoints within F# IDEs, streamlining development workflows and reducing boilerplate.
Includes SSRF protection enabled by default, blocking HTTP and private IPs to prevent attacks without additional configuration, as noted in the README.
Supports OpenAPI 3.0 and Swagger 2.0 in JSON and YAML formats, accommodating a wide range of API specifications for various use cases.
Only available for F# projects, limiting its use in mixed-language .NET environments or teams not committed to F# development.
Requires schema files or URLs to be accessible at compile time, which can hinder development with dynamic APIs or offline scenarios without recompilation.
May struggle with non-standard or malformed schemas, necessitating parameters like 'IgnoreParseErrors' to proceed, potentially masking important validation issues.