/
githubmirror
/
aspnetcore
Обзор
Документация
Войти
/
githubmirror
/
aspnetcore
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/OpenApi/sample/Endpoints/MapObsoleteEndpoints.cs
50 строк
2 KB
Jonah Fritz
Map [Obsolete] attribute to deprecated in OpenAPI documents (#66355)
22 июл 2026, 10:02
Не верифицирован
22 июл 2026, 10:02
ac660ce
Код
Авторство
О чём код?
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. public static class ObsoleteEndpointsExtensions { public static IEndpointRouteBuilder MapObsoleteEndpoints(this IEndpointRouteBuilder endpointRouteBuilder) { var obsolete = endpointRouteBuilder.MapGroup("obsolete") .WithGroupName("obsolete"); obsolete.MapPost("/deprecated", (RequestWithObsoleteMembers request) => TypedResults.Ok(request)) .WithMetadata(new ObsoleteAttribute()); obsolete.MapGet("/current", () => TypedResults.Ok(new CurrentResponse { Value = "current" })); return endpointRouteBuilder; } public sealed class RequestWithObsoleteMembers { public required string Current { get; set; } [Obsolete] public string Legacy { get; set; } = string.Empty; public required ReusableType CurrentReference { get; set; } [Obsolete] public ReusableType LegacyReference { get; set; } = new() { Value = string.Empty }; #pragma warning disable CS0612 // Type or member is obsolete public required ObsoleteType ObsoleteType { get; set; } #pragma warning restore CS0612 } public sealed class ReusableType { public required string Value { get; set; } } public sealed class CurrentResponse { public required string Value { get; set; } } [Obsolete] public sealed class ObsoleteType { public required string Value { get; set; } } }