Невозможно добавить атрибут [FromHeader] для модели/класса в минимальном API ASP.NET Core 6.0
Я пытаюсь добавить несколько пользовательских заголовков в минимальный API ядра .NET, поэтому я добавил атрибут перед входными параметрами.
Он работает нормально, я вижу эти заголовки в чванстве.
Но я ищу лучший способ сохранить все эти заголовки в классе/модели и пытаюсь добавить это в заголовок API, используя атрибут перед этой моделью.
Таким образом, я получаю эту ошибку
Не найден общедоступный статический метод bool для заголовков Метод Testheader.tryparse(string,out TestHeaders) найден для
Это код:
app.MapPost("api/v1/testapi",async([FromHeader] TestHeaderModel headers,{
return Results.Ok(null)
})
.WithTags(new string[]{"test"})
.Produces<response>(200);
Модель
public class TestHeaderModel
{
[FromHeader]
public string header1 {get;set;}
[FromHeader]
public string header2{get;set;}
}
Мой вопрос : есть ли способ сохранить все эти заголовки в одном классе/модели и добавить
[FromHeader]
атрибут для этого конкретного класса в контроллере?
Этот подход работает в предыдущих версиях ядра .net, но не в 6.0. Есть ли для этого какая-то конкретная причина? или я что-то пропустил здесь?
1 ответ
Взгляните на этот репозиторий DamianEdwards/MinimalApiPlayground
Более конкретно это
MapGet
в этой строке:https://github.com/DamianEdwards/MinimalApiPlayground/blob/main/src/MinimalApiPlayground/Program.cs#L244
Обратите внимание, как они привязывают объект к методу GET. В этом примере для запроса параметров, но также может быть и для заголовков.
Этот проект использует этот пакет (сейчас в предварительной версии)MinimalApis.Extensions