При использовании подкачки на APIController с пометкой Controller возвращается неподдерживаемый тип носителя - PullRequest
1 голос
/ 30 мая 2019

После добавления подкачки к контроллеру API теперь появляется сообщение об ошибке json с неподдерживаемым типом носителя.

Я использую ASP.NET Core 2.2. Я могу обойти эту проблему, комментируя атрибут [ApiController] на контроллере, но это, очевидно, не является предпочтительным, и я хотел бы понять, что является основной проблемой.

public async Task<ActionResult<BlogPost>> Get(ResourceParameters resourceParameters)
{
    return Ok(await _repository.GetBlogPostsAsync(resourceParameters));
}
// The problem is suppressed by commenting out the ApiController attribute
[Route("api/[controller]")]
//[ApiController]
public class BlogController : ControllerBase
..

Ответ

// 20190530081824
// https://localhost:5001/api/blog
{
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.13",
    "title": "Unsupported Media Type",
    "status": 415,
    "traceId": "0HLN4PRV4JD94:00000001"
}

1 Ответ

0 голосов
/ 30 мая 2019

Попробуйте изменить свой код на

[Route("api/[controller]/")]
[ApiController]
public class BlogController : Controller

и

public async Task<ActionResult<BlogPost>> Get([FromQuery] ResourceParameters resourceParameters) 
{ 
    return Ok(await _repository.GetBlogPostsAsync(resourceParameters)); 
}

Убедитесь, что FromQuery или FromBody зависят от вашего объекта, который вы отправляете

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...