You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[release/9.0-preview7] Make ApiExplorer for minimal APIs trim-compatible (#56937)
* Make ApiExplorer for minimal APIs trim-compatible
* Enable trimming checks for Mvc.Core and consumers
* Add setup for NativeAoT test project for OpenAPI
* Update AspNetCore.sln reference to OpenAPI tests
* Fix OpenApi.slnf
* Address feedback from API review
* Update OpenApi.slnf
* Confirming my sanity
* Refactor ModelMetadata for trim compatability
* Disable native AoT tests until Microsoft.OpenApi is trim-compatible
* Fix up NativeAoT tests for OpenApi
* Fix ModelMetadata trimming without API changes
* Update native AoT for MVC
* Add RDC/RUC attributes and update exception messages
* Update suppressions and add more RUC/RDC attributes
* Revise ParameterBindingMethodCache initialization and consumption
* Update ci-public.yml
---------
Co-authored-by: Safia Abdalla <[email protected]>
Co-authored-by: William Godbe <[email protected]>
// Licensed to the .NET Foundation under one or more agreements.
2
+
// The .NET Foundation licenses this file to you under the MIT license.
3
+
4
+
usingSystem.Reflection;
5
+
6
+
namespaceMicrosoft.AspNetCore.Http.Metadata;
7
+
8
+
/// <summary>
9
+
/// Exposes metadata about the parameter binding details associated with a parameter
10
+
/// in the endpoints handler.
11
+
/// </summary>
12
+
/// <remarks>
13
+
/// This metadata is injected by the RequestDelegateFactory and RequestDelegateGenerator components
14
+
/// and is primarily intended for consumption by the EndpointMetadataApiDescriptionProvider in
15
+
/// ApiExplorer.
16
+
/// </remarks>
17
+
publicinterfaceIParameterBindingMetadata
18
+
{
19
+
/// <summary>
20
+
/// The name of the parameter.
21
+
/// </summary>
22
+
stringName{get;}
23
+
24
+
/// <summary>
25
+
/// <see langword="true "/> is the parameter is associated with a type that implements <see cref="IParsable{TSelf}" /> or exposes a <c>TryParse</c> method.
26
+
/// </summary>
27
+
boolHasTryParse{get;}
28
+
29
+
/// <summary>
30
+
/// <see langword="true"/> if the parameter is associated with a type that implements a <c>BindAsync</c> method.
31
+
/// </summary>
32
+
boolHasBindAsync{get;}
33
+
34
+
/// <summary>
35
+
/// The <see cref="ParameterInfo"/> associated with the parameter.
36
+
/// </summary>
37
+
ParameterInfoParameterInfo{get;}
38
+
39
+
/// <summary>
40
+
/// <see langword="true"/> if the parameter is optional.
0 commit comments