Organize workspace: Frontend, Backend, and Tests in one repo

This commit is contained in:
2026-03-04 22:04:07 +00:00
parent a24e901b7f
commit c065cbf61e
5390 changed files with 844081 additions and 446 deletions

View File

@@ -0,0 +1,5 @@
{
"version": 2,
"contentHash": "AYSHrRDS4hpmZupq56HjBePEHVTDZ5G4ffZYCWxPcuZ129X5RowwGWSDJY9D+I4W+EpVT0vSBbE2pp6Qy2Y+8g==",
"source": "https://api.nuget.org/v3/index.json"
}

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -0,0 +1,54 @@
## About
Microsoft.AspNetCore.OpenApi is a NuGet package that provides built-in support for generating OpenAPI documents from minimal or controller-based APIs in ASP.NET Core.
## Key Features
* Supports viewing generated OpenAPI documents at runtime via a parameterized endpoint (`/openapi/{documentName}.json`)
* Supports generating an OpenAPI document at build-time
* Supports customizing the generated document via document transformers
## How to Use
To start using Microsoft.AspNetCore.OpenApi in your ASP.NET Core application, follow these steps:
### Installation
```sh
dotnet add package Microsoft.AspNetCore.OpenApi
```
### Configuration
In your Program.cs file, register the services provided by this package in the DI container and map the provided OpenAPI document endpoint in the application.
```C#
var builder = WebApplication.CreateBuilder();
// Registers the required services
builder.Services.AddOpenApi();
var app = builder.Build();
// Adds the /openapi/{documentName}.json endpoint to the application
app.MapOpenApi();
app.Run();
```
For more information on configuring and using Microsoft.AspNetCore.OpenApi, refer to the [official documentation](https://learn.microsoft.com/aspnet/core/fundamentals/minimal-apis/openapi).
## Main Types
<!-- The main types provided in this library -->
The main types provided by this library are:
* `OpenApiOptions`: Options for configuring OpenAPI document generation.
* `IDocumentTransformer`: Transformer that modifies the OpenAPI document generated by the library.
## Feedback & Contributing
<!-- How to provide feedback on this package and contribute to it -->
Microsoft.AspNetCore.OpenApi is released as open-source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/aspnetcore).

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,961 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.AspNetCore.OpenApi</name>
</assembly>
<members>
<member name="T:Microsoft.AspNetCore.OpenApi.OpenApiTagComparer">
<summary>
This comparer is used to maintain a globally unique list of tags encountered
in a particular OpenAPI document.
</summary>
</member>
<member name="T:Microsoft.AspNetCore.OpenApi.JsonNodeSchemaExtensions">
<summary>
Provides a set of extension methods for modifying the opaque JSON Schema type
that is provided by the underlying schema generator in System.Text.Json.
</summary>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.JsonNodeSchemaExtensions.ApplyValidationAttributes(System.Text.Json.Nodes.JsonNode,System.Collections.Generic.IEnumerable{System.Attribute})">
<summary>
Maps the given validation attributes to the target schema.
</summary>
<remarks>
OpenApi schema v3 supports the validation vocabulary supported by JSON Schema. Because the underlying
schema generator does not handle validation attributes to the validation vocabulary, we apply that mapping here.
Note that this method targets <see cref="T:System.Text.Json.Nodes.JsonNode"/> and not <see cref="T:Microsoft.OpenApi.Models.OpenApiSchema"/> because it is
designed to be invoked via the `OnGenerated` callback provided by the underlying schema generator
so that attributes can be mapped to the properties associated with inputs and outputs to a given request.
This implementation only supports mapping validation attributes that have an associated keyword in the
validation vocabulary.
Validation attributes are applied in a last-wins-order. For example, the following set of attributes:
[Range(1, 10), Min(5)]
will result in the schema having a minimum value of 5 and a maximum value of 10. This rule applies even
though the model binding layer in MVC applies all validation attributes on an argument. The following
set of attributes:
[Base64String]
[Url]
public string Url { get; }
will result in the schema having a type of "string" and a format of "uri" even though the model binding
layer will validate the string against *both* constraints.
</remarks>
<param name="schema">The <see cref="T:System.Text.Json.Nodes.JsonNode"/> produced by the underlying schema generator.</param>
<param name="validationAttributes">A list of the validation attributes to apply.</param>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.JsonNodeSchemaExtensions.ApplyDefaultValue(System.Text.Json.Nodes.JsonNode,System.Object,System.Text.Json.Serialization.Metadata.JsonTypeInfo)">
<summary>
Populate the default value into the current schema.
</summary>
<param name="schema">The <see cref="T:System.Text.Json.Nodes.JsonNode"/> produced by the underlying schema generator.</param>
<param name="defaultValue">An object representing the <see cref="T:System.Object"/> associated with the default value.</param>
<param name="jsonTypeInfo">The <see cref="T:System.Text.Json.Serialization.Metadata.JsonTypeInfo"/> associated with the target type.</param>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.JsonNodeSchemaExtensions.ApplyPrimitiveTypesAndFormats(System.Text.Json.Nodes.JsonNode,System.Text.Json.Schema.JsonSchemaExporterContext,System.Func{System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.String})">
<summary>
Applies the primitive types and formats to the schema based on the type.
</summary>
<remarks>
OpenAPI v3 requires support for the format keyword in generated types. Because the
underlying schema generator does not support this, we need to manually apply the
supported formats to the schemas associated with the generated type.
Whereas JsonSchema represents nullable types via `type: ["string", "null"]`, OpenAPI
v3 exposes a nullable property on the schema. This method will set the nullable property
based on whether the underlying schema generator returned an array type containing "null" to
represent a nullable type or if the type was denoted as nullable from our lookup cache.
Note that this method targets <see cref="T:System.Text.Json.Nodes.JsonNode"/> and not <see cref="T:Microsoft.OpenApi.Models.OpenApiSchema"/> because
it is is designed to be invoked via the `OnGenerated` callback in the underlying schema generator as
opposed to after the generated schemas have been mapped to OpenAPI schemas.
</remarks>
<param name="schema">The <see cref="T:System.Text.Json.Nodes.JsonNode"/> produced by the underlying schema generator.</param>
<param name="context">The <see cref="T:System.Text.Json.Schema.JsonSchemaExporterContext"/> associated with the <see paramref="schema"/>.</param>
<param name="createSchemaReferenceId">A delegate that generates the reference ID to create for a type.</param>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.JsonNodeSchemaExtensions.ApplyRouteConstraints(System.Text.Json.Nodes.JsonNode,System.Collections.Generic.IEnumerable{Microsoft.AspNetCore.Routing.IRouteConstraint})">
<summary>
Applies route constraints to the target schema.
</summary>
<param name="schema">The <see cref="T:System.Text.Json.Nodes.JsonNode"/> produced by the underlying schema generator.</param>
<param name="constraints">The list of <see cref="T:Microsoft.AspNetCore.Routing.IRouteConstraint"/>s associated with the route parameter.</param>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.JsonNodeSchemaExtensions.ApplyParameterInfo(System.Text.Json.Nodes.JsonNode,Microsoft.AspNetCore.Mvc.ApiExplorer.ApiParameterDescription,System.Text.Json.Serialization.Metadata.JsonTypeInfo)">
<summary>
Applies parameter-specific customizations to the target schema.
</summary>
<param name="schema">The <see cref="T:System.Text.Json.Nodes.JsonNode"/> produced by the underlying schema generator.</param>
<param name="parameterDescription">The <see cref="T:Microsoft.AspNetCore.Mvc.ApiExplorer.ApiParameterDescription"/> associated with the <see paramref="schema"/>.</param>
<param name="jsonTypeInfo">The <see cref="T:System.Text.Json.Serialization.Metadata.JsonTypeInfo"/> associated with the <see paramref="schema"/>.</param>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.JsonNodeSchemaExtensions.MapPolymorphismOptionsToDiscriminator(System.Text.Json.Nodes.JsonNode,System.Text.Json.Schema.JsonSchemaExporterContext,System.Func{System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.String})">
<summary>
Applies the polymorphism options defined by System.Text.Json to the target schema following OpenAPI v3's
conventions for the discriminator property.
</summary>
<param name="schema">The <see cref="T:System.Text.Json.Nodes.JsonNode"/> produced by the underlying schema generator.</param>
<param name="context">The <see cref="T:System.Text.Json.Schema.JsonSchemaExporterContext"/> associated with the current type.</param>
<param name="createSchemaReferenceId">A delegate that generates the reference ID to create for a type.</param>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.JsonNodeSchemaExtensions.ApplySchemaReferenceId(System.Text.Json.Nodes.JsonNode,System.Text.Json.Schema.JsonSchemaExporterContext,System.Func{System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.String})">
<summary>
Set the x-schema-id property on the schema to the identifier associated with the type.
</summary>
<param name="schema">The <see cref="T:System.Text.Json.Nodes.JsonNode"/> produced by the underlying schema generator.</param>
<param name="context">The <see cref="T:System.Text.Json.Schema.JsonSchemaExporterContext"/> associated with the current type.</param>
<param name="createSchemaReferenceId">A delegate that generates the reference ID to create for a type.</param>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.JsonNodeSchemaExtensions.IsNonAbstractTypeWithoutDerivedTypeReference(System.Text.Json.Schema.JsonSchemaExporterContext)">
<summary>
Returns <langword ref="true" /> if the current type is a non-abstract base class that is not defined as its
own derived type.
</summary>
<param name="context">The <see cref="T:System.Text.Json.Schema.JsonSchemaExporterContext"/> associated with the current type.</param>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.JsonNodeSchemaExtensions.ApplyNullabilityContextInfo(System.Text.Json.Nodes.JsonNode,System.Reflection.ParameterInfo)">
<summary>
Support applying nullability status for reference types provided as a parameter.
</summary>
<param name="schema">The <see cref="T:System.Text.Json.Nodes.JsonNode"/> produced by the underlying schema generator.</param>
<param name="parameterInfo">The <see cref="T:System.Reflection.ParameterInfo" /> associated with the schema.</param>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.JsonNodeSchemaExtensions.ApplyNullabilityContextInfo(System.Text.Json.Nodes.JsonNode,System.Text.Json.Serialization.Metadata.JsonPropertyInfo)">
<summary>
Support applying nullability status for reference types provided as a property or field.
</summary>
<param name="schema">The <see cref="T:System.Text.Json.Nodes.JsonNode"/> produced by the underlying schema generator.</param>
<param name="propertyInfo">The <see cref="T:System.Text.Json.Serialization.Metadata.JsonPropertyInfo" /> associated with the schema.</param>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.JsonTypeInfoExtensions.GetSchemaReferenceId(System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Boolean)">
<summary>
The following method maps a JSON type to a schema reference ID that will eventually be used as the
schema reference name in the OpenAPI document. These schema reference names are considered URL fragments
in the context of JSON Schema's $ref keyword and must comply with the character restrictions of URL fragments.
In particular, the generated strings can contain alphanumeric characters and a subset of special symbols. This
means that certain symbols that appear commonly in .NET type names like ">" are not permitted in the
generated reference ID.
</summary>
<param name="jsonTypeInfo">The <see cref="T:System.Text.Json.Serialization.Metadata.JsonTypeInfo"/> associated with the target schema.</param>
<param name="isTopLevel">
When <see langword="false" />, returns schema name for primitive
types to support use in list/dictionary types.
</param>
<returns>The schema reference ID represented as a string name.</returns>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.OpenApiSchemaExtensions.Clone(Microsoft.OpenApi.Models.OpenApiSchema)">
<summary>
Generates a deep copy of a given <see cref="T:Microsoft.OpenApi.Models.OpenApiSchema"/> instance.
</summary>
<remarks>
The copy constructors of the <see cref="T:Microsoft.OpenApi.Models.OpenApiSchema"/> class do not perform a deep
copy of the instance which presents a problem whe making modifications in deeply nested
subschemas. This extension implements a deep copy on <see cref="T:Microsoft.OpenApi.Models.OpenApiSchema" /> to guarantee
that modifications on cloned subschemas do not affect the original subschema.
/// </remarks>
<param name="schema">The <see cref="T:Microsoft.OpenApi.Models.OpenApiSchema"/> to generate a deep copy of.</param>
</member>
<member name="P:Microsoft.AspNetCore.OpenApi.OpenApiJsonSchemaContext.OpenApiJsonSchema">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.AspNetCore.OpenApi.OpenApiJsonSchemaContext.String">
<summary>
Defines the source generated JSON serialization contract metadata for a given type.
</summary>
</member>
<member name="P:Microsoft.AspNetCore.OpenApi.OpenApiJsonSchemaContext.Default">
<summary>
The default <see cref="T:System.Text.Json.Serialization.JsonSerializerContext"/> associated with a default <see cref="T:System.Text.Json.JsonSerializerOptions"/> instance.
</summary>
</member>
<member name="P:Microsoft.AspNetCore.OpenApi.OpenApiJsonSchemaContext.GeneratedSerializerOptions">
<summary>
The source-generated options associated with this context.
</summary>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.OpenApiJsonSchemaContext.#ctor">
<inheritdoc/>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.OpenApiJsonSchemaContext.#ctor(System.Text.Json.JsonSerializerOptions)">
<inheritdoc/>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.OpenApiJsonSchemaContext.GetTypeInfo(System.Type)">
<inheritdoc/>
</member>
<member name="T:Microsoft.AspNetCore.OpenApi.NamedService`1">
<summary>
Keyed services don't provide an accessible API for resolving
all the service keys associated with a given type.
See https:///github.com/dotnet/runtime/issues/100105 for more info.
This internal class is used to track the document names that have been registered
so that they can be resolved in the `IDocumentProvider` implementation.
This is inspired by the implementation used in Orleans. See
https:///github.com/dotnet/orleans/blob/005ab200bc91302245857cb75efaa436296a1aae/src/Orleans.Runtime/Hosting/NamedService.cs.
</summary>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.NamedService`1.#ctor(System.String)">
<summary>
Keyed services don't provide an accessible API for resolving
all the service keys associated with a given type.
See https:///github.com/dotnet/runtime/issues/100105 for more info.
This internal class is used to track the document names that have been registered
so that they can be resolved in the `IDocumentProvider` implementation.
This is inspired by the implementation used in Orleans. See
https:///github.com/dotnet/orleans/blob/005ab200bc91302245857cb75efaa436296a1aae/src/Orleans.Runtime/Hosting/NamedService.cs.
</summary>
</member>
<member name="F:Microsoft.AspNetCore.OpenApi.OpenApiDocumentService._operationTransformerContextCache">
<summary>
Cache of <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiOperationTransformerContext"/> instances keyed by the
`ApiDescription.ActionDescriptor.Id` of the associated operation. ActionDescriptor IDs
are unique within the lifetime of an application and serve as helpful associators between
operations, API descriptions, and their respective transformer contexts.
</summary>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.OpenApiDocumentService.GetOpenApiPathsAsync(System.Collections.Generic.HashSet{Microsoft.OpenApi.Models.OpenApiTag},System.IServiceProvider,Microsoft.AspNetCore.OpenApi.IOpenApiOperationTransformer[],Microsoft.AspNetCore.OpenApi.IOpenApiSchemaTransformer[],System.Threading.CancellationToken)">
<summary>
Gets the OpenApiPaths for the document based on the ApiDescriptions.
</summary>
<remarks>
At this point in the construction of the OpenAPI document, we run
each API description through the `ShouldInclude` delegate defined in
the object to support filtering each
description instance into its appropriate document.
</remarks>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.OpenApiDocumentService.GetTargetType(Microsoft.AspNetCore.Mvc.ApiExplorer.ApiDescription,Microsoft.AspNetCore.Mvc.ApiExplorer.ApiParameterDescription)">
<remarks>
This method is used to determine the target type for a given parameter. The target type
is the actual type that should be used to generate the schema for the parameter. This is
necessary because MVC's ModelMetadata layer will set ApiParameterDescription.Type to string
when the parameter is a parsable or convertible type. In this case, we want to use the actual
model type to generate the schema instead of the string type.
</remarks>
<remarks>
This method will also check if no target type was resolved from the <see cref="T:Microsoft.AspNetCore.Mvc.ApiExplorer.ApiParameterDescription"/>
and default to a string schema. This will happen if we are dealing with an inert route parameter
that does not define a specific parameter type in the route handler or in the response.
</remarks>
</member>
<member name="T:Microsoft.AspNetCore.OpenApi.OpenApiGenerator">
<summary>
Defines a set of methods for generating OpenAPI definitions for endpoints.
</summary>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.OpenApiGenerator.#ctor(Microsoft.Extensions.Hosting.IHostEnvironment,Microsoft.Extensions.DependencyInjection.IServiceProviderIsService)">
<summary>
Creates an <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiGenerator" /> instance given an <see cref="T:Microsoft.Extensions.Hosting.IHostEnvironment" />
and an <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceProviderIsService" /> instance.
</summary>
<param name="environment">The host environment.</param>
<param name="serviceProviderIsService">The service to determine if the type is available from the <see cref="T:System.IServiceProvider"/>.</param>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.OpenApiGenerator.GetOpenApiOperation(System.Reflection.MethodInfo,Microsoft.AspNetCore.Http.EndpointMetadataCollection,Microsoft.AspNetCore.Routing.Patterns.RoutePattern)">
<summary>
Generates an <see cref="T:Microsoft.OpenApi.Models.OpenApiOperation"/> for a given <see cref="T:Microsoft.AspNetCore.Http.Endpoint" />.
</summary>
<param name="methodInfo">The <see cref="T:System.Reflection.MethodInfo"/> associated with the route handler of the endpoint.</param>
<param name="metadata">The endpoint <see cref="T:Microsoft.AspNetCore.Http.EndpointMetadataCollection"/>.</param>
<param name="pattern">The route pattern.</param>
<returns>An <see cref="T:Microsoft.OpenApi.Models.OpenApiOperation"/> annotation derived from the given inputs.</returns>
</member>
<member name="T:Microsoft.AspNetCore.OpenApi.OpenApiOptions">
<summary>
Options to support the construction of OpenAPI documents.
</summary>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.OpenApiOptions.CreateDefaultSchemaReferenceId(System.Text.Json.Serialization.Metadata.JsonTypeInfo)">
<summary>
A default implementation for creating a schema reference ID for a given <see cref="T:System.Text.Json.Serialization.Metadata.JsonTypeInfo"/>.
</summary>
<param name="jsonTypeInfo">The <see cref="T:System.Text.Json.Serialization.Metadata.JsonTypeInfo"/> associated with the schema we are generating a reference ID for.</param>
<returns>The reference ID to use for the schema or <see langword="null"/> if the schema should always be inlined.</returns>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.OpenApiOptions.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiOptions"/> class
with the default <see cref="P:Microsoft.AspNetCore.OpenApi.OpenApiOptions.ShouldInclude"/> predicate.
</summary>
</member>
<member name="P:Microsoft.AspNetCore.OpenApi.OpenApiOptions.OpenApiVersion">
<summary>
The version of the OpenAPI specification to use. Defaults to <see cref="F:Microsoft.OpenApi.OpenApiSpecVersion.OpenApi3_0"/>.
</summary>
</member>
<member name="P:Microsoft.AspNetCore.OpenApi.OpenApiOptions.DocumentName">
<summary>
The name of the OpenAPI document this <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiOptions"/> instance is associated with.
</summary>
</member>
<member name="P:Microsoft.AspNetCore.OpenApi.OpenApiOptions.ShouldInclude">
<summary>
A delegate to determine whether a given <see cref="T:Microsoft.AspNetCore.Mvc.ApiExplorer.ApiDescription"/> should be included in the given OpenAPI document.
</summary>
</member>
<member name="P:Microsoft.AspNetCore.OpenApi.OpenApiOptions.CreateSchemaReferenceId">
<summary>
A delegate to determine how reference IDs should be created for schemas associated with types in the given OpenAPI document.
</summary>
<remarks>
The default implementation uses the <see cref="M:Microsoft.AspNetCore.OpenApi.OpenApiOptions.CreateDefaultSchemaReferenceId(System.Text.Json.Serialization.Metadata.JsonTypeInfo)"/> method to generate reference IDs. When
the provided delegate returns <see langword="null"/>, the schema associated with the <see cref="T:System.Text.Json.Serialization.Metadata.JsonTypeInfo"/> will always be inlined.
</remarks>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.OpenApiOptions.AddDocumentTransformer``1">
<summary>
Registers a new document transformer on the current <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiOptions"/> instance.
</summary>
<typeparam name="TTransformerType">The type of the <see cref="T:Microsoft.AspNetCore.OpenApi.IOpenApiDocumentTransformer"/> to instantiate.</typeparam>
<returns>The <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiOptions"/> instance for further customization.</returns>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.OpenApiOptions.AddDocumentTransformer(Microsoft.AspNetCore.OpenApi.IOpenApiDocumentTransformer)">
<summary>
Registers a given instance of <see cref="T:Microsoft.AspNetCore.OpenApi.IOpenApiDocumentTransformer"/> on the current <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiOptions"/> instance.
</summary>
<param name="transformer">The <see cref="T:Microsoft.AspNetCore.OpenApi.IOpenApiDocumentTransformer"/> instance to use.</param>
<returns>The <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiOptions"/> instance for further customization.</returns>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.OpenApiOptions.AddDocumentTransformer(System.Func{Microsoft.OpenApi.Models.OpenApiDocument,Microsoft.AspNetCore.OpenApi.OpenApiDocumentTransformerContext,System.Threading.CancellationToken,System.Threading.Tasks.Task})">
<summary>
Registers a given delegate as a document transformer on the current <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiOptions"/> instance.
</summary>
<param name="transformer">The delegate representing the document transformer.</param>
<returns>The <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiOptions"/> instance for further customization.</returns>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.OpenApiOptions.AddOperationTransformer``1">
<summary>
Registers a new operation transformer on the current <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiOptions"/> instance.
</summary>
<typeparam name="TTransformerType">The type of the <see cref="T:Microsoft.AspNetCore.OpenApi.IOpenApiOperationTransformer"/> to instantiate.</typeparam>
<returns>The <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiOptions"/> instance for further customization.</returns>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.OpenApiOptions.AddOperationTransformer(Microsoft.AspNetCore.OpenApi.IOpenApiOperationTransformer)">
<summary>
Registers a given instance of <see cref="T:Microsoft.AspNetCore.OpenApi.IOpenApiOperationTransformer"/> on the current <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiOptions"/> instance.
</summary>
<param name="transformer">The <see cref="T:Microsoft.AspNetCore.OpenApi.IOpenApiOperationTransformer"/> instance to use.</param>
<returns>The <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiOptions"/> instance for further customization.</returns>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.OpenApiOptions.AddOperationTransformer(System.Func{Microsoft.OpenApi.Models.OpenApiOperation,Microsoft.AspNetCore.OpenApi.OpenApiOperationTransformerContext,System.Threading.CancellationToken,System.Threading.Tasks.Task})">
<summary>
Registers a given delegate as an operation transformer on the current <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiOptions"/> instance.
</summary>
<param name="transformer">The delegate representing the operation transformer.</param>
<returns>The <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiOptions"/> instance for further customization.</returns>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.OpenApiOptions.AddSchemaTransformer``1">
<summary>
Registers a new schema transformer on the current <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiOptions"/> instance.
</summary>
<typeparam name="TTransformerType">The type of the <see cref="T:Microsoft.AspNetCore.OpenApi.IOpenApiSchemaTransformer"/> to instantiate.</typeparam>
<returns>The <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiOptions"/> instance for further customization.</returns>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.OpenApiOptions.AddSchemaTransformer(Microsoft.AspNetCore.OpenApi.IOpenApiSchemaTransformer)">
<summary>
Registers a given instance of <see cref="T:Microsoft.AspNetCore.OpenApi.IOpenApiOperationTransformer"/> on the current <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiOptions"/> instance.
</summary>
<param name="transformer">The <see cref="T:Microsoft.AspNetCore.OpenApi.IOpenApiOperationTransformer"/> instance to use.</param>
<returns>The <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiOptions"/> instance for further customization.</returns>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.OpenApiOptions.AddSchemaTransformer(System.Func{Microsoft.OpenApi.Models.OpenApiSchema,Microsoft.AspNetCore.OpenApi.OpenApiSchemaTransformerContext,System.Threading.CancellationToken,System.Threading.Tasks.Task})">
<summary>
Registers a given delegate as a schema transformer on the current <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiOptions"/> instance.
</summary>
<param name="transformer">The delegate representing the schema transformer.</param>
<returns>The <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiOptions"/> instance for further customization.</returns>
</member>
<member name="T:Microsoft.AspNetCore.OpenApi.OpenApiSchemaKey">
<summary>
Represents a unique identifier that is used to store and retrieve
JSON schemas associated with a given property.
</summary>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.OpenApiSchemaKey.#ctor(System.Type,System.Reflection.ParameterInfo)">
<summary>
Represents a unique identifier that is used to store and retrieve
JSON schemas associated with a given property.
</summary>
</member>
<member name="T:Microsoft.AspNetCore.OpenApi.OpenApiSchemaService">
<summary>
Supports managing elements that belong in the "components" section of
an OpenAPI document. In particular, this is the API that is used to
interact with the JSON schemas that are managed by a given OpenAPI document.
</summary>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.OpenApiSchemaService.#ctor(System.String,Microsoft.Extensions.Options.IOptions{Microsoft.AspNetCore.Http.Json.JsonOptions},System.IServiceProvider,Microsoft.Extensions.Options.IOptionsMonitor{Microsoft.AspNetCore.OpenApi.OpenApiOptions})">
<summary>
Supports managing elements that belong in the "components" section of
an OpenAPI document. In particular, this is the API that is used to
interact with the JSON schemas that are managed by a given OpenAPI document.
</summary>
</member>
<member name="T:Microsoft.AspNetCore.OpenApi.OpenApiSchemaStore">
<summary>
Stores schemas generated by the JsonSchemaMapper for a
given OpenAPI document for later resolution.
</summary>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.OpenApiSchemaStore.GetOrAdd(Microsoft.AspNetCore.OpenApi.OpenApiSchemaKey,System.Func{Microsoft.AspNetCore.OpenApi.OpenApiSchemaKey,System.Text.Json.Nodes.JsonNode})">
<summary>
Resolves the JSON schema for the given type and parameter description.
</summary>
<param name="key">The key associated with the generated schema.</param>
<param name="valueFactory">A function used to generated the JSON object representing the schema.</param>
<returns>A <see cref="T:System.Text.Json.Nodes.JsonObject" /> representing the JSON schema associated with the key.</returns>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.OpenApiSchemaStore.PopulateSchemaIntoReferenceCache(Microsoft.OpenApi.Models.OpenApiSchema,System.Boolean)">
<summary>
Add the provided schema to the schema-with-references cache that is eventually
used to populate the top-level components.schemas object. This method will
unwrap the provided schema and add any child schemas to the global cache. Child
schemas include those referenced in the schema.Items, schema.AdditionalProperties, or
schema.Properties collections. Schema reference IDs are only set for schemas that have
been encountered more than once in the document to avoid unnecessarily capturing unique
schemas into the top-level document.
</summary>
<remarks>
We don't do a depth check in the recursion call here since we assume that
System.Text.Json has already validate the depth of the schema based on
the configured JsonSerializerOptions.MaxDepth value.
</remarks>
<param name="schema">The <see cref="T:Microsoft.OpenApi.Models.OpenApiSchema"/> to add to the schemas-with-references cache.</param>
<param name="captureSchemaByRef"><see langword="true"/> if schema should always be referenced instead of inlined.</param>
</member>
<member name="T:Microsoft.AspNetCore.OpenApi.OpenApiSchemaReferenceTransformer">
<summary>
Document transformer to support mapping duplicate JSON schema instances
into JSON schema references across the document.
</summary>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.OpenApiSchemaReferenceTransformer.ResolveReferenceForSchema(Microsoft.OpenApi.Models.OpenApiSchema,System.Collections.Concurrent.ConcurrentDictionary{Microsoft.OpenApi.Models.OpenApiSchema,System.String},System.Boolean)">
<summary>
Resolves the provided schema into a reference if it is found in the schemas-by-reference cache.
</summary>
<param name="schema">The inline schema to replace with a reference.</param>
<param name="schemasByReference">A cache of schemas and their associated reference IDs.</param>
<param name="isTopLevel">When <see langword="true" />, will skip resolving references for the top-most schema provided.</param>
</member>
<member name="T:Microsoft.AspNetCore.OpenApi.IOpenApiDocumentTransformer">
<summary>
Represents a transformer that can be used to modify an OpenAPI document.
</summary>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.IOpenApiDocumentTransformer.TransformAsync(Microsoft.OpenApi.Models.OpenApiDocument,Microsoft.AspNetCore.OpenApi.OpenApiDocumentTransformerContext,System.Threading.CancellationToken)">
<summary>
Transforms the specified OpenAPI document.
</summary>
<param name="document">The <see cref="T:Microsoft.OpenApi.Models.OpenApiDocument"/> to modify.</param>
<param name="context">The <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiDocumentTransformerContext"/> associated with the <see paramref="document"/>.</param>
<param name="cancellationToken">The cancellation token to use.</param>
<returns>The task object representing the asynchronous operation.</returns>
</member>
<member name="T:Microsoft.AspNetCore.OpenApi.IOpenApiOperationTransformer">
<summary>
Represents a transformer that can be used to modify an OpenAPI operation.
</summary>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.IOpenApiOperationTransformer.TransformAsync(Microsoft.OpenApi.Models.OpenApiOperation,Microsoft.AspNetCore.OpenApi.OpenApiOperationTransformerContext,System.Threading.CancellationToken)">
<summary>
Transforms the specified OpenAPI operation.
</summary>
<param name="operation">The <see cref="T:Microsoft.OpenApi.Models.OpenApiOperation"/> to modify.</param>
<param name="context">The <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiOperationTransformerContext"/> associated with the <see paramref="operation"/>.</param>
<param name="cancellationToken">The cancellation token to use.</param>
<returns>The task object representing the asynchronous operation.</returns>
</member>
<member name="T:Microsoft.AspNetCore.OpenApi.IOpenApiSchemaTransformer">
<summary>
Represents a transformer that can be used to modify an OpenAPI schema.
</summary>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.IOpenApiSchemaTransformer.TransformAsync(Microsoft.OpenApi.Models.OpenApiSchema,Microsoft.AspNetCore.OpenApi.OpenApiSchemaTransformerContext,System.Threading.CancellationToken)">
<summary>
Transforms the specified OpenAPI schema.
</summary>
<param name="schema">The <see cref="T:Microsoft.OpenApi.Models.OpenApiSchema"/> to modify.</param>
<param name="context">The <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiSchemaTransformerContext"/> associated with the <see paramref="schema"/>.</param>
<param name="cancellationToken">The cancellation token to use.</param>
<returns>The task object representing the asynchronous operation.</returns>
</member>
<member name="T:Microsoft.AspNetCore.OpenApi.OpenApiDocumentTransformerContext">
<summary>
Represents the context in which an OpenAPI document transformer is executed.
</summary>
</member>
<member name="P:Microsoft.AspNetCore.OpenApi.OpenApiDocumentTransformerContext.DocumentName">
<summary>
Gets the name of the associated OpenAPI document.
</summary>
</member>
<member name="P:Microsoft.AspNetCore.OpenApi.OpenApiDocumentTransformerContext.DescriptionGroups">
<summary>
Gets the API description groups associated with current document.
</summary>
</member>
<member name="P:Microsoft.AspNetCore.OpenApi.OpenApiDocumentTransformerContext.ApplicationServices">
<summary>
Gets the application services associated with current document.
</summary>
</member>
<member name="T:Microsoft.AspNetCore.OpenApi.OpenApiOperationTransformerContext">
<summary>
Represents the context in which an OpenAPI operation transformer is executed.
</summary>
</member>
<member name="P:Microsoft.AspNetCore.OpenApi.OpenApiOperationTransformerContext.DocumentName">
<summary>
Gets the name of the associated OpenAPI document.
</summary>
</member>
<member name="P:Microsoft.AspNetCore.OpenApi.OpenApiOperationTransformerContext.Description">
<summary>
Gets the API description associated with target operation.
</summary>
</member>
<member name="P:Microsoft.AspNetCore.OpenApi.OpenApiOperationTransformerContext.ApplicationServices">
<summary>
Gets the application services associated with the current document the target operation is in.
</summary>
</member>
<member name="T:Microsoft.AspNetCore.OpenApi.OpenApiSchemaTransformerContext">
<summary>
Represents the context in which an OpenAPI schema transformer is executed.
</summary>
</member>
<member name="P:Microsoft.AspNetCore.OpenApi.OpenApiSchemaTransformerContext.DocumentName">
<summary>
Gets the name of the associated OpenAPI document.
</summary>
</member>
<member name="P:Microsoft.AspNetCore.OpenApi.OpenApiSchemaTransformerContext.ParameterDescription">
<summary>
Gets the <see cref="T:Microsoft.AspNetCore.Mvc.ApiExplorer.ApiParameterDescription"/> associated with the target schema.
Null when processing an OpenAPI schema for a response type.
</summary>
</member>
<member name="P:Microsoft.AspNetCore.OpenApi.OpenApiSchemaTransformerContext.JsonTypeInfo">
<summary>
Gets the <see cref="P:Microsoft.AspNetCore.OpenApi.OpenApiSchemaTransformerContext.JsonTypeInfo"/> associated with the target schema.
</summary>
</member>
<member name="P:Microsoft.AspNetCore.OpenApi.OpenApiSchemaTransformerContext.JsonPropertyInfo">
<summary>
Gets the <see cref="P:Microsoft.AspNetCore.OpenApi.OpenApiSchemaTransformerContext.JsonPropertyInfo"/> associated with the target schema if the
target schema is a property of a parent schema.
</summary>
</member>
<member name="P:Microsoft.AspNetCore.OpenApi.OpenApiSchemaTransformerContext.ApplicationServices">
<summary>
Gets the application services associated with the current document the target schema is in.
</summary>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.TypeBasedOpenApiOperationTransformer.TransformAsync(Microsoft.OpenApi.Models.OpenApiOperation,Microsoft.AspNetCore.OpenApi.OpenApiOperationTransformerContext,System.Threading.CancellationToken)">
<remarks>
Throw because the activate instance is invoked by the <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiDocumentService" />.
</remarks>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.TypeBasedOpenApiSchemaTransformer.TransformAsync(Microsoft.OpenApi.Models.OpenApiSchema,Microsoft.AspNetCore.OpenApi.OpenApiSchemaTransformerContext,System.Threading.CancellationToken)">
<remarks>
Throw because the activate instance is invoked by the <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiSchemaService" />.
</remarks>
</member>
<member name="M:Microsoft.AspNetCore.OpenApi.TypeBasedTransformerExtensions.FinalizeTransformer``1(``0)">
<summary>
Supports disposing of factory-based transformers that implement <see cref="T:System.IDisposable"/> or <see cref="T:System.IAsyncDisposable"/>
after a given OpenAPI document generation request has been completed.
</summary>
<remarks>
This method is intended to be invoked on <see cref="T:Microsoft.AspNetCore.OpenApi.TypeBasedOpenApiOperationTransformer" /> and <see cref="T:Microsoft.AspNetCore.OpenApi.TypeBasedOpenApiSchemaTransformer" />.
instances which can be invoked multiple times within the same document generation request.
</remarks>
</member>
<member name="T:Microsoft.AspNetCore.Builder.OpenApiEndpointConventionBuilderExtensions">
<summary>
Extension methods for annotating OpenAPI descriptions on an <see cref="T:Microsoft.AspNetCore.Http.Endpoint" />.
</summary>
</member>
<member name="M:Microsoft.AspNetCore.Builder.OpenApiEndpointConventionBuilderExtensions.WithOpenApi``1(``0)">
<summary>
Adds an OpenAPI annotation to <see cref="P:Microsoft.AspNetCore.Http.Endpoint.Metadata" /> associated
with the current endpoint.
</summary>
<remarks>
This method does not integrate with built-in OpenAPI document generation support in ASP.NET Core
and is primarily intended for consumption along-side Swashbuckle.AspNetCore.
</remarks>
<param name="builder">The <see cref="T:Microsoft.AspNetCore.Builder.IEndpointConventionBuilder"/>.</param>
<returns>A <see cref="T:Microsoft.AspNetCore.Builder.IEndpointConventionBuilder"/> that can be used to further customize the endpoint.</returns>
</member>
<member name="M:Microsoft.AspNetCore.Builder.OpenApiEndpointConventionBuilderExtensions.WithOpenApi``1(``0,System.Func{Microsoft.OpenApi.Models.OpenApiOperation,Microsoft.OpenApi.Models.OpenApiOperation})">
<summary>
Adds an OpenAPI annotation to <see cref="P:Microsoft.AspNetCore.Http.Endpoint.Metadata" /> associated
with the current endpoint and modifies it with the given <paramref name="configureOperation"/>.
</summary>
<remarks>
This method does not integrate with built-in OpenAPI document generation support in ASP.NET Core
and is primarily intended for consumption along-side Swashbuckle.AspNetCore.
</remarks>
<param name="builder">The <see cref="T:Microsoft.AspNetCore.Builder.IEndpointConventionBuilder"/>.</param>
<param name="configureOperation">An <see cref="T:System.Func`2"/> that returns a new OpenAPI annotation given a generated operation.</param>
<returns>A <see cref="T:Microsoft.AspNetCore.Builder.IEndpointConventionBuilder"/> that can be used to further customize the endpoint.</returns>
</member>
<member name="T:Microsoft.AspNetCore.Builder.OpenApiEndpointRouteBuilderExtensions">
<summary>
OpenAPI-related methods for <see cref="T:Microsoft.AspNetCore.Routing.IEndpointRouteBuilder"/>.
</summary>
</member>
<member name="M:Microsoft.AspNetCore.Builder.OpenApiEndpointRouteBuilderExtensions.MapOpenApi(Microsoft.AspNetCore.Routing.IEndpointRouteBuilder,System.String)">
<summary>
Register an endpoint onto the current application for resolving the OpenAPI document associated
with the current application.
</summary>
<param name="endpoints">The <see cref="T:Microsoft.AspNetCore.Routing.IEndpointRouteBuilder"/>.</param>
<param name="pattern">The route to register the endpoint on. Must include the 'documentName' route parameter.</param>
<returns>An <see cref="T:Microsoft.AspNetCore.Routing.IEndpointRouteBuilder"/> that can be used to further customize the endpoint.</returns>
</member>
<member name="M:Microsoft.AspNetCore.Http.PropertyAsParameterInfo.Flatten(System.Reflection.ParameterInfo[],Microsoft.AspNetCore.Http.ParameterBindingMethodCache)">
<summary>
Unwraps all parameters that contains <see cref="T:Microsoft.AspNetCore.Http.AsParametersAttribute"/> and
creates a flat list merging the current parameters, not including the
parameters that contain a <see cref="T:Microsoft.AspNetCore.Http.AsParametersAttribute"/>, and all additional
parameters detected.
</summary>
<param name="parameters">List of parameters to be flattened.</param>
<param name="cache">An instance of the method cache class.</param>
<returns>Flat list of parameters.</returns>
</member>
<member name="T:Microsoft.AspNetCore.Internal.MemoryBufferWriter.WrittenBuffers">
<summary>
Holds the written segments from a MemoryBufferWriter and is no longer attached to a MemoryBufferWriter.
You are now responsible for calling Dispose on this type to return the memory to the pool.
</summary>
</member>
<member name="T:Microsoft.AspNetCore.Internal.MemoryBufferWriter.CompletedBuffer">
<summary>
Holds a byte[] from the pool and a size value. Basically a Memory but guaranteed to be backed by an ArrayPool byte[], so that we know we can return it.
</summary>
</member>
<member name="T:Microsoft.Extensions.DependencyInjection.OpenApiServiceCollectionExtensions">
<summary>
OpenAPI-related methods for <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.
</summary>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.OpenApiServiceCollectionExtensions.AddOpenApi(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String)">
<summary>
Adds OpenAPI services related to the given document name to the specified <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.
</summary>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> to register services onto.</param>
<param name="documentName">The name of the OpenAPI document associated with registered services.</param>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.OpenApiServiceCollectionExtensions.AddOpenApi(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action{Microsoft.AspNetCore.OpenApi.OpenApiOptions})">
<summary>
Adds OpenAPI services related to the given document name to the specified <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> with the specified options.
</summary>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> to register services onto.</param>
<param name="documentName">The name of the OpenAPI document associated with registered services.</param>
<param name="configureOptions">A delegate used to configure the target <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiOptions"/>.</param>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.OpenApiServiceCollectionExtensions.AddOpenApi(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{Microsoft.AspNetCore.OpenApi.OpenApiOptions})">
<summary>
Adds OpenAPI services related to the default document to the specified <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> with the specified options.
</summary>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> to register services onto.</param>
<param name="configureOptions">A delegate used to configure the target <see cref="T:Microsoft.AspNetCore.OpenApi.OpenApiOptions"/>.</param>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.OpenApiServiceCollectionExtensions.AddOpenApi(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
<summary>
Adds OpenAPI services related to the default document to the specified <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.
</summary>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> to register services onto.</param>
</member>
<member name="T:Microsoft.Extensions.ApiDescriptions.IDocumentProvider">
<summary>
Represents a provider for OpenAPI documents to support build-time generation.
</summary>
<remarks>
The Microsoft.Extensions.ApiDescription.Server package and associated configuration
execute the `dotnet getdocument` command at build-time to support build-time
generation of documents. The `getdocument` tool launches the entry point assembly
and queries it for a service that implements the `IDocumentProvider` interface. For
historical reasons, the `IDocumentProvider` interface isn't exposed publicly from
the framework and the `getdocument` tool instead queries for it using the type name.
That means the `IDocumentProvider` interface must be declared under the namespace
that it expects. For more information, see https://github.com/dotnet/aspnetcore/blob/82c9b34d7206ba56ea1d641843e1f2fe6d2a0b1c/src/Tools/GetDocumentInsider/src/Commands/GetDocumentCommandWorker.cs#L25.
</remarks>
</member>
<member name="T:Microsoft.Extensions.ApiDescriptions.OpenApiDocumentProvider">
<summary>
Provides an implementation of <see cref="T:Microsoft.Extensions.ApiDescriptions.IDocumentProvider"/> to use for build-time generation of OpenAPI documents.
</summary>
<param name="serviceProvider">The <see cref="T:System.IServiceProvider"/> to use.</param>
</member>
<member name="M:Microsoft.Extensions.ApiDescriptions.OpenApiDocumentProvider.#ctor(System.IServiceProvider)">
<summary>
Provides an implementation of <see cref="T:Microsoft.Extensions.ApiDescriptions.IDocumentProvider"/> to use for build-time generation of OpenAPI documents.
</summary>
<param name="serviceProvider">The <see cref="T:System.IServiceProvider"/> to use.</param>
</member>
<member name="M:Microsoft.Extensions.ApiDescriptions.OpenApiDocumentProvider.GenerateAsync(System.String,System.IO.TextWriter)">
<summary>
Serializes the OpenAPI document associated with a given document name to
the provided writer.
</summary>
<param name="documentName">The name of the document to resolve.</param>
<param name="writer">A text writer associated with the document to write to.</param>
</member>
<member name="M:Microsoft.Extensions.ApiDescriptions.OpenApiDocumentProvider.GenerateAsync(System.String,System.IO.TextWriter,Microsoft.OpenApi.OpenApiSpecVersion)">
<summary>
Serializes the OpenAPI document associated with a given document name to
the provided writer under the provided OpenAPI spec version.
</summary>
<param name="documentName">The name of the document to resolve.</param>
<param name="writer">A text writer associated with the document to write to.</param>
<param name="openApiSpecVersion">The OpenAPI specification version to use when serializing the document.</param>
</member>
<member name="M:Microsoft.Extensions.ApiDescriptions.OpenApiDocumentProvider.GetDocumentNames">
<summary>
Provides all document names that are currently managed in the application.
</summary>
</member>
<member name="M:Microsoft.Extensions.Internal.ObjectMethodExecutor.CreateTrimAotCompatible(System.Reflection.MethodInfo,System.Reflection.TypeInfo)">
<summary>
Creates an ObjectMethodExecutor that is compatible with trimming and Ahead-of-Time (AOT) compilation.
</summary>
<remarks>
The difference between this method and <see cref="M:Microsoft.Extensions.Internal.ObjectMethodExecutor.Create(System.Reflection.MethodInfo,System.Reflection.TypeInfo)"/> is that
this method doesn't support custom awaitables and Task{unit} in F#. It only supports Task, Task{T}, ValueTask, and ValueTask{T}
as async methods.
</remarks>
</member>
<member name="M:Microsoft.Extensions.Internal.ObjectMethodExecutor.Execute(System.Object,System.Object[])">
<summary>
Executes the configured method on <paramref name="target"/>. This can be used whether or not
the configured method is asynchronous.
</summary>
<remarks>
Even if the target method is asynchronous, it's desirable to invoke it using Execute rather than
ExecuteAsync if you know at compile time what the return type is, because then you can directly
"await" that value (via a cast), and then the generated code will be able to reference the
resulting awaitable as a value-typed variable. If you use ExecuteAsync instead, the generated
code will have to treat the resulting awaitable as a boxed object, because it doesn't know at
compile time what type it would be.
</remarks>
<param name="target">The object whose method is to be executed.</param>
<param name="parameters">Parameters to pass to the method.</param>
<returns>The method return value.</returns>
</member>
<member name="M:Microsoft.Extensions.Internal.ObjectMethodExecutor.ExecuteAsync(System.Object,System.Object[])">
<summary>
Executes the configured method on <paramref name="target"/>. This can only be used if the configured
method is asynchronous.
</summary>
<remarks>
If you don't know at compile time the type of the method's returned awaitable, you can use ExecuteAsync,
which supplies an awaitable-of-object. This always works, but can incur several extra heap allocations
as compared with using Execute and then using "await" on the result value typecasted to the known
awaitable type. The possible extra heap allocations are for:
1. The custom awaitable (though usually there's a heap allocation for this anyway, since normally
it's a reference type, and you normally create a new instance per call).
2. The custom awaiter (whether or not it's a value type, since if it's not, you need a new instance
of it, and if it is, it will have to be boxed so the calling code can reference it as an object).
3. The async result value, if it's a value type (it has to be boxed as an object, since the calling
code doesn't know what type it's going to be).
Note if <see cref="M:Microsoft.Extensions.Internal.ObjectMethodExecutor.CreateTrimAotCompatible(System.Reflection.MethodInfo,System.Reflection.TypeInfo)"/> was used to create the ObjectMethodExecutor, only the
built-in Task types are supported and not custom awaitables.
</remarks>
<param name="target">The object whose method is to be executed.</param>
<param name="parameters">Parameters to pass to the method.</param>
<returns>An object that you can "await" to get the method return value.</returns>
</member>
<member name="T:Microsoft.Extensions.Internal.ObjectMethodExecutorAwaitable">
<summary>
Provides a common awaitable structure that <see cref="M:Microsoft.Extensions.Internal.ObjectMethodExecutor.ExecuteAsync(System.Object,System.Object[])"/> can
return, regardless of whether the underlying value is a System.Task, an FSharpAsync, or an
application-defined custom awaitable.
</summary>
</member>
<member name="T:Microsoft.Extensions.Internal.ObjectMethodExecutorFSharpSupport">
<summary>
Helper for converting F# async values to their BCL analogues.
</summary>
<remarks>
The main design goal here is to avoid taking a compile-time dependency on
FSharp.Core.dll, because non-F# applications wouldn't use it. So all the references
to FSharp types have to be constructed dynamically at runtime.
</remarks>
</member>
<member name="M:Microsoft.Extensions.Internal.ObjectMethodExecutorFSharpSupport.TryBuildCoercerFromFSharpAsyncToAwaitable(System.Type,System.Linq.Expressions.Expression@,System.Type@)">
<summary>
Builds a <see cref="T:System.Linq.Expressions.LambdaExpression"/> for converting a value of the given generic instantiation of
<see href="https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync-1.html">FSharp.Control.FSharpAsync&lt;T&gt;</see>
to a <see cref="T:System.Threading.Tasks.Task`1"/>, if <paramref name="possibleFSharpAsyncType"/> is in fact a closed F# async type,
or to a <see cref="T:System.Threading.Tasks.Task"/>, if <c>TResult</c> is <see href="https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-unit-0.html">FSharp.Core.Unit</see>.
</summary>
<param name="possibleFSharpAsyncType">
The type that is a potential generic instantiation of
<see href="https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync-1.html">FSharp.Control.FSharpAsync&lt;T&gt;</see>.
</param>
<param name="coerceToAwaitableExpression">
When this method returns and <paramref name="possibleFSharpAsyncType"/> is a generic instantiation of
<see href="https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync-1.html">FSharp.Control.FSharpAsync&lt;T&gt;</see>,
contains a <see cref="T:System.Linq.Expressions.LambdaExpression"/> for converting a value of type <paramref name="possibleFSharpAsyncType"/>
to a <see cref="T:System.Threading.Tasks.Task`1"/>, or to a <see cref="T:System.Threading.Tasks.Task"/>, if <c>TResult</c> is <see href="https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-unit-0.html">FSharp.Core.Unit</see>;
otherwise, <see langword="null"/>.
</param>
<param name="awaitableType">
When this method returns, contains the type of the closed generic instantiation of <see cref="T:System.Threading.Tasks.Task`1"/> or of <see cref="T:System.Threading.Tasks.Task"/> that will be returned
by the coercer expression, if it was possible to build a coercer; otherwise, <see langword="null"/>.
</param>
<returns><see langword="true"/> if it was possible to build a coercer; otherwise, <see langword="false"/>.</returns>
</member>
<member name="M:Microsoft.Extensions.Internal.ObjectMethodExecutorFSharpSupport.TryBuildCoercerFromUnitAwaitableToVoidAwaitable(System.Type,System.Linq.Expressions.Expression@,System.Type@)">
<summary>
Builds a <see cref="T:System.Linq.Expressions.LambdaExpression"/> for converting a <c>Task&lt;unit&gt;</c> or <c>ValueTask&lt;unit&gt;</c>
to a void-returning <see cref="T:System.Threading.Tasks.Task"/> or <see cref="T:System.Threading.Tasks.ValueTask"/>.
</summary>
<param name="genericAwaitableType">The generic awaitable type to convert.</param>
<param name="coercerExpression">
When this method returns and the <paramref name="genericAwaitableType"/> was
<c>Task&lt;unit&gt;</c> or <c>ValueTask&lt;unit&gt;</c>,
contains a <see cref="T:System.Linq.Expressions.LambdaExpression"/> for converting to the corresponding void-returning awaitable type;
otherwise, <see langword="null"/>.
</param>
<param name="nonGenericAwaitableType">
When this method returns and the <paramref name="genericAwaitableType"/> was
<c>Task&lt;unit&gt;</c> or <c>ValueTask&lt;unit&gt;</c>,
contains the corresponding void-returning awaitable type;
otherwise, <see langword="null"/>.
</param>
<returns><see langword="true"/> if it was possible to build a coercer; otherwise, <see langword="false"/>.</returns>
</member>
<member name="M:Microsoft.Extensions.Internal.TypeNameHelper.GetTypeDisplayName(System.Type,System.Boolean,System.Boolean,System.Boolean,System.Char)">
<summary>
Pretty print a type name.
</summary>
<param name="type">The <see cref="T:System.Type"/>.</param>
<param name="fullName"><c>true</c> to print a fully qualified name.</param>
<param name="includeGenericParameterNames"><c>true</c> to include generic parameter names.</param>
<param name="includeGenericParameters"><c>true</c> to include generic parameters.</param>
<param name="nestedTypeDelimiter">Character to use as a delimiter in nested type names</param>
<returns>The pretty printed type name.</returns>
</member>
<member name="M:ApiDescriptionExtensions.GetOperationType(Microsoft.AspNetCore.Mvc.ApiExplorer.ApiDescription)">
<summary>
Maps the HTTP method of the ApiDescription to the OpenAPI <see cref="T:Microsoft.OpenApi.Models.OperationType"/> .
</summary>
<param name="apiDescription">The ApiDescription to resolve an operation type from.</param>
<returns>The <see cref="T:Microsoft.OpenApi.Models.OperationType"/> associated with the given <paramref name="apiDescription"/>.</returns>
</member>
<member name="M:ApiDescriptionExtensions.MapRelativePathToItemPath(Microsoft.AspNetCore.Mvc.ApiExplorer.ApiDescription)">
<summary>
Maps the relative path included in the ApiDescription to the path
that should be included in the OpenApiDocument. This typically
consists of removing any constraints from route parameter parts
and retaining only the literals.
</summary>
<param name="apiDescription">The ApiDescription to resolve an item path from.</param>
<returns>The resolved item path for the given <paramref name="apiDescription"/>.</returns>
</member>
<member name="M:ApiDescriptionExtensions.IsRequestBodyParameter(Microsoft.AspNetCore.Mvc.ApiExplorer.ApiParameterDescription)">
<summary>
Determines if the given <see cref="T:Microsoft.AspNetCore.Mvc.ApiExplorer.ApiParameterDescription" /> is a request body parameter.
</summary>
<param name="apiParameterDescription">The <see cref="T:Microsoft.AspNetCore.Mvc.ApiExplorer.ApiParameterDescription"/> to check. </param>
<returns>Returns <langword ref="true"/> if the given parameter comes from the request body, <langword ref="false"/> otherwise.</returns>
</member>
<member name="M:ApiDescriptionExtensions.TryGetFormParameters(Microsoft.AspNetCore.Mvc.ApiExplorer.ApiDescription,System.Collections.Generic.IEnumerable{Microsoft.AspNetCore.Mvc.ApiExplorer.ApiParameterDescription}@)">
<summary>
Retrieves the form parameters from the ApiDescription, if they exist.
</summary>
<param name="apiDescription">The ApiDescription to resolve form parameters from.</param>
<param name="formParameters">A list of <see cref="T:Microsoft.AspNetCore.Mvc.ApiExplorer.ApiParameterDescription"/> associated with the form parameters.</param>
<returns><see langword="true"/> if form parameters were found, <see langword="false"/> otherwise.</returns>
</member>
<member name="M:ApiDescriptionExtensions.TryGetBodyParameter(Microsoft.AspNetCore.Mvc.ApiExplorer.ApiDescription,Microsoft.AspNetCore.Mvc.ApiExplorer.ApiParameterDescription@)">
<summary>
Retrieves the body parameter from the ApiDescription, if it exists.
</summary>
<param name="apiDescription">The ApiDescription to resolve the body parameter from.</param>
<param name="bodyParameter">The <see cref="T:Microsoft.AspNetCore.Mvc.ApiExplorer.ApiParameterDescription"/> associated with the body parameter.</param>
<returns><see langword="true"/> if a single body parameter was found, <see langword="false"/> otherwise.</returns>
</member>
<member name="P:OpenApiJsonSchema.Schema">
<summary>
Represents the OpenAPI schema that this instance represents.
</summary>
</member>
<member name="M:OpenApiJsonSchema.JsonConverter.Write(System.Text.Json.Utf8JsonWriter,OpenApiJsonSchema,System.Text.Json.JsonSerializerOptions)">
<remarks>
Intentionally not implemented. We don't expect to serialize OpenApiJsonSchema instances, only the underlying
<see cref="P:OpenApiJsonSchema.Schema"/>.
</remarks>
</member>
<member name="M:OpenApiJsonSchema.ReadList``1(System.Text.Json.Utf8JsonReader@)">
<summary>
Read a list from the given JSON reader instance.
</summary>
<typeparam name="T">The type of the elements that will populate the list.</typeparam>
<param name="reader">The <see cref="T:System.Text.Json.Utf8JsonReader"/> to consume the list from.</param>
<returns>A list parsed from the JSON array.</returns>
</member>
<member name="M:OpenApiJsonSchema.ReadDictionary``1(System.Text.Json.Utf8JsonReader@)">
<summary>
Read a dictionary from the given JSON reader instance.
</summary>
<typeparam name="T">The type associated with the values in the dictionary.</typeparam>
<param name="reader">The <see cref="T:System.Text.Json.Utf8JsonReader"/> to consume the dictionary from.</param>
<returns>A dictionary parsed from the JSON object.</returns>
<exception cref="T:System.Text.Json.JsonException">Thrown if JSON object is not valid.</exception>
</member>
<member name="M:OpenApiJsonSchema.ReadProperty(System.Text.Json.Utf8JsonReader@,System.String,Microsoft.OpenApi.Models.OpenApiSchema,System.Text.Json.JsonSerializerOptions)">
<summary>
Read a property node from the given JSON reader instance.
</summary>
<param name="reader">The <see cref="T:System.Text.Json.Utf8JsonReader"/> to consume the property value from.</param>
<param name="propertyName">The name of the property the editor is currently consuming.</param>
<param name="schema">The <see cref="T:Microsoft.OpenApi.Models.OpenApiSchema"/> to write the given values to.</param>
<param name="options">The <see cref="T:System.Text.Json.JsonSerializerOptions"/> instance.</param>
</member>
<member name="M:System.Runtime.CompilerServices.TypeHelper.IsCompilerGeneratedType(System.Type)">
<summary>
Checks to see if a given type is compiler generated.
<remarks>
The compiler will annotate either the target type or the declaring type
with the CompilerGenerated attribute. We walk up the declaring types until
we find a CompilerGenerated attribute or declare the type as not compiler
generated otherwise.
</remarks>
</summary>
<param name="type">The type to evaluate.</param>
<returns><see langword="true" /> if <paramref name="type"/> is compiler generated.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.TypeHelper.IsCompilerGeneratedMethod(System.Reflection.MethodInfo)">
<summary>
Checks to see if a given method is compiler generated.
</summary>
<param name="method">The method to evaluate.</param>
<returns><see langword="true" /> if <paramref name="method"/> is compiler generated.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.TypeHelper.TryParseLocalFunctionName(System.String,System.String@)">
<summary>
Parses generated local function name out of a generated method name. This code is a stop-gap and exists to address the issues with extracting
original method names from generated local functions. See https://github.com/dotnet/roslyn/issues/55651 for more info.
</summary>
</member>
<member name="M:System.Runtime.CompilerServices.TypeHelper.TryGetNonCompilerGeneratedMethodName(System.Reflection.MethodInfo,System.String@)">
<summary>
Tries to get non-compiler-generated name of function. This parses generated local function names out of a generated method name if possible.
</summary>
</member>
</members>
</doc>

View File

@@ -0,0 +1 @@
PDprN10FYPfJEN7gZpLkiNA3dCxeGMknALZJcaUIFsl1RJs9M/rWV0YTtJzwI5iwawAWKMXrTSnG73QzQcOp3w==

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>Microsoft.AspNetCore.OpenApi</id>
<version>9.0.13</version>
<authors>Microsoft</authors>
<requireLicenseAcceptance>true</requireLicenseAcceptance>
<license type="expression">MIT</license>
<licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
<icon>Icon.png</icon>
<readme>PACKAGE.md</readme>
<projectUrl>https://asp.net/</projectUrl>
<description>Provides APIs for annotating route handler endpoints in ASP.NET Core with OpenAPI annotations.
This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/087328de5f1e0067be48d87295ae8d92064a1535</description>
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
<tags>aspnetcore openapi</tags>
<serviceable>true</serviceable>
<repository type="git" url="https://github.com/dotnet/aspnetcore" commit="087328de5f1e0067be48d87295ae8d92064a1535" />
<dependencies>
<group targetFramework="net9.0">
<dependency id="Microsoft.OpenApi" version="1.6.17" exclude="Build,Analyzers" />
</group>
</dependencies>
<frameworkReferences><group targetFramework="net9.0"><frameworkReference name="Microsoft.AspNetCore.App" /></group></frameworkReferences></metadata>
</package>