OasReader 1.6.16.16
dotnet add package OasReader --version 1.6.16.16
NuGet\Install-Package OasReader -Version 1.6.16.16
<PackageReference Include="OasReader" Version="1.6.16.16" />
paket add OasReader --version 1.6.16.16
#r "nuget: OasReader, 1.6.16.16"
// Install OasReader as a Cake Addin #addin nuget:?package=OasReader&version=1.6.16.16 // Install OasReader as a Cake Tool #tool nuget:?package=OasReader&version=1.6.16.16
Multi Document Reader for OpenAPI.NET
An OpenAPI reader that merges external references into a single document using the Microsoft OpenAPI toolset.
This is based on the work done by Jan Kokenberg and contains source code from the dotnet-openapi-merger CLI tool
Usage
The class OpenApiMultiFileReader
is used to load an OpenAPI specifications document file locally or remotely using a YAML or JSON file. OpenApiMultiFileReader
will automatically merge external references if the OAS file uses them. Merging external referenecs that the file is in the same folder as the main OAS file. When loading OAS files remotely, the external references must also be remote files. Currently, you can not load a remote OAS file that has external references to local files.
ReadResult result = await OpenApiMultiFileReader.Read("petstore.yaml");
OpenApiDocument document = result.OpenApiDocument;
In the example above, we have OpenAPI specifications that are split into multiple documents. petstore.yaml
contains the paths
and petstore.components.yaml
contain the components/schemas
petstore.yaml
openapi: 3.0.3
paths:
/pet:
post:
tags:
- pet
summary: Add a new pet to the store
description: Add a new pet to the store
operationId: addPet
requestBody:
description: Create a new pet in the store
content:
application/json:
schema:
$ref: 'petstore.components.yaml#/components/schemas/Pet'
required: true
responses:
"200":
description: Successful operation
content:
application/json:
schema:
$ref: 'petstore.components.yaml#/components/schemas/Pet'
petstore.components.yaml
openapi: 3.0.3
components:
schemas:
Pet:
required:
- name
- photoUrls
type: object
properties:
id:
type: integer
format: int64
example: 10
name:
type: string
example: doggie
category:
$ref: '#/components/schemas/Category'
photoUrls:
type: array
xml:
wrapped: true
items:
type: string
xml:
name: photoUrl
tags:
type: array
xml:
wrapped: true
items:
$ref: '#/components/schemas/Tag'
status:
type: string
description: pet status in the store
enum:
- available
- pending
- sold
Category:
type: object
properties:
id:
type: integer
format: int64
example: 1
name:
type: string
example: Dogs
xml:
name: category
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 | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.OpenApi.Readers (>= 1.6.22)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on OasReader:
Package | Downloads |
---|---|
Refitter.SourceGenerator
A C# Source Generator that uses Refitter for generating a REST API Client using the Refit library from OpenAPI specifications. |
|
Refitter.Core
Core library used by the Refitter CLI tool for generating a C# REST API Client using the Refit library. |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on OasReader:
Repository | Stars |
---|---|
christianhelle/refitter
A tool for generating Refit interfaces and contracts from OpenAPI specifications
|
Version | Downloads | Last updated |
---|---|---|
1.6.16.16 | 330 | 12/10/2024 |
1.6.16.15 | 44,360 | 7/30/2024 |
1.6.11.14 | 1,064,438 | 1/7/2024 |
1.6.11.13 | 129 | 1/7/2024 |
1.6.11.12 | 2,406 | 1/6/2024 |
1.6.11.11 | 347 | 1/6/2024 |
1.6.11.10 | 125 | 1/6/2024 |
1.6.11.9 | 137 | 1/6/2024 |
1.6.11.8 | 346 | 1/5/2024 |
1.6.11.7 | 276 | 1/4/2024 |
1.6.11.6 | 132 | 1/4/2024 |
1.6.11.5 | 138 | 1/4/2024 |
1.6.11.4 | 123 | 1/4/2024 |
1.6.11.3 | 142 | 1/3/2024 |
1.6.11.2 | 126 | 1/3/2024 |
0.1.0.1-preview | 121 | 1/3/2024 |