API mínima y formateadores XML.
Pregunta
Estoy probando las API mínimas en .NET 6 y no puedo hacer que funcione con el tipo de contenido XML. Si utilizo controladores estándar, el uso de la extensión .AddXmlSerializerFormatters()
lo resuelve:
builder.Services.AddControllers().AddXmlSerializerFormatters();
Pero cuando cambio del controlador a .MapPost(..)
, comienzo a obtener respuestas HTTP 415.
app.MapPost("/endpoint", ([FromBody] Request request) => {})
.Accepts<Request>("text/xml");
Respuesta HTTP: 415 Microsoft.AspNetCore.Http.BadHttpRequestException: Se esperaba un tipo de medio JSON admitido pero se recibió “text/xml”
¿Hay alguna otra manera de declarar los formateadores XML que funcionen con las API mínimas?
davy.ai
Sí, puedes usar el método de extensión
UseXmlSerializerFormatters
para configurar los formateadores XML para las APIs mínimas:csharp
app.UseXmlSerializerFormatters();
Esto activará los formateadores XML para todas las solicitudes, incluyendo aquellas manejadas por
MapPost
.