В настоящее время у меня есть проблема с новым атрибутом .NET Core 2.1 [ApiController]
, и я не знаю, как ее решить. Если я применяю атрибут, у меня возникают проблемы с выводом. Без всего работает нормально.
У меня есть контроллер с атрибутом [ApiController]
и действие, которое должно принимать пару различных заголовков и модель представления.
Действие выглядит так:
[HttpPut]
public async Task<IActionResult> MyAction(MyHeaderClass myHeaders, [FromBody]MyViewModel myViewModel)
{
var resultObject = await DoSomething();
return Json("");
}
Класс MyHeadersClass выглядит следующим образом:
public class MyHeadersClass
{
[FromHeader(Name = "X-Some-Id")]
[Required]
public string SomeId { get; set; }
[FromHeader(Name = "X-SomeGuid-Id")]
[Required]
public Guid? SomeGuid { get; set; }
}
Если я пытаюсь запустить свое приложение, оно завершается сбоем, потому что .NET Core 2.1 пытается определить, что MyHeaderClass
связан с телом запроса.
Единственное, что работает, - это применение атрибута [FromHeader]
к моему MyHeaderClass
, но затем я должен указать один заголовок с
{
X-Some-Id: string,
X-SomeGuid-Id: string
}
Но я хочу иметь один заголовок для каждого свойства, и это работало бы без атрибута. Что я могу изменить, чтобы заставить его работать с атрибутом [ApiController]
?