Сбой согласования содержимого для приложения / xml в ASP. NET Core - PullRequest
1 голос
/ 17 апреля 2020

Я пытаюсь настроить мой веб-API для использования согласования содержимого, но у меня возникают некоторые проблемы.

Ниже приведен мой код конфигурации.

services
  .AddControllers(config =>
  {
      config.ReturnHttpNotAcceptable = true;
  )
  .AddXmlSerializerFormatters()
  .AddNewtonsoftJson(config=>
  {
       config.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
  });

И мой контроллер

[Route("api/test")]
[ApiController]
[Produces("application/xml", "application/json")]
public class TestController : ControllerBase
{

   [HttpGet("{id}", Name = "Get")]
   public async Task<ActionResult<Test>> Get([FromRoute] string id)
   {
       return Ok(await _store.Get(new Guid(id)));
   }
}

Запрос выполняется через почтальона с использованием следующих заголовков запроса

Accept : application/xml

Моя конечная точка получает удар, но когда возвращается результат, я получаю 406 Неприемлемо.

Я не установил никаких дополнительных пакетов, кроме Microsoft.AspNetCore. Mvc .Newtonsoft Json, только с использованием apis witch, поставляемой с netcore3.1.

Я что-то упустил?

...