После добавления пейджинга в контроллер 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"
}
Попробуйте изменить свой код на этот
[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 зависят от вашего объекта, который вы отправляете
Я как раз открывался в Postman. Я разобрался. Кажется, с версии 2.2 требуется добавить [FromQuery] в контроллер, чего раньше не было. Спасибо за вашу помощь.
Можете ли вы отредактировать его, как показано ниже, и я могу его принять: }
@Tig2810 Все в порядке
Нет, не имело никакого значения.