Я пытаюсь выяснить, как настроить согласование содержимого, чтобы серверы приложений и xml, или json по запросу.
Я пробовал несколько вещей, которые вы можете найти в inte rnet, включая документацию Microsoft , но безрезультатно. (вы увидите это с моим закомментированным кодом). Я попытался поместить все параметры в .Add Mvc, убрав все параметры и т.д. c. Я просто не знаю, что попробовать дальше
Вот начальная часть вызова ConfigureServices
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
//services.AddControllers().AddXmlSerializerFormatters();
services.AddControllers().AddNewtonsoftJson();
services.AddControllers(options =>
{
options.ReturnHttpNotAcceptable = true;
options.OutputFormatters.RemoveType<HttpNoContentOutputFormatter>();
options.OutputFormatters.Add(new XmlSerializerOutputFormatter());
options.FormatterMappings.SetMediaTypeMappingForFormat(
"xml", "application/xml");
});
//services.AddControllers(options =>
//{
// options.FormatterMappings.SetMediaTypeMappingForFormat
// ("xml", MediaTypeHeaderValue.Parse("application/xml"));
//}).AddXmlSerializerFormatters().AddXmlDataContractSerializerFormatters();
Вот моя попытка установить это в контроллере
[Route("api/[controller]")]
[ApiController]
[FormatFilter]
public class PulpTestsController : ControllerBase
{
private readonly DatabaseContext _context;
public PulpTestsController(DatabaseContext context)
{
_context = context;
}
// GET: api/PulpTests
[HttpGet()]
[HttpGet(".{format?}")]
//[HttpGet(".{format?}"),FormatFilter]
public async Task<ActionResult<IEnumerable<PulpTests>>> GetPulpTests()
{
return await _context.PulpTests.Include(b=>b.System).ToListAsync();
}