Код состояния 406 с использованием форматирования данных ответа в ASP. NET Core Web API - PullRequest
1 голос
/ 19 июня 2020

Я пытаюсь отформатировать ответ с помощью метода GET, я следовал инструкциям Microsoft . Я могу получить json ответ, но не xml, он возвращает код состояния 406.

Это мой класс запуска:

services.AddControllers()
            .AddXmlSerializerFormatters();
        services.AddControllers()
            .AddNewtonsoftJson();
        services.AddControllers().AddNewtonsoftJson(options =>
        {
            // Use the default property (Pascal) casing
            options.SerializerSettings.ContractResolver = new DefaultContractResolver();

        });
        services.AddControllers(options =>
        {
            // requires using Microsoft.AspNetCore.Mvc.Formatters;
            options.OutputFormatters.RemoveType<StringOutputFormatter>();
            options.OutputFormatters.RemoveType<HttpNoContentOutputFormatter>();
        });

Контроллер:

[Route("api/[controller]")]
[ApiController]
[FormatFilter]
public class TableController : ControllerBase
{
[HttpGet("values.{format}")]
    public ActionResult<List<Table>> Get()
    {
        return _context.Table.ToList();
    }
}

1 Ответ

0 голосов
/ 19 июня 2020

Я отвечаю на свой вопрос, потому что я нашел ответ, который мне просто нужно было заменить

AddXmlSerializerFormatters ()

на

AddXmlDataContractSerializerFormatters ()

...