Можете ли вы удалить пустые элементы из входного XML, настроив MvcBuilder?C#

Место общения программистов C#
Ответить
Anonymous
 Можете ли вы удалить пустые элементы из входного XML, настроив MvcBuilder?

Сообщение Anonymous »

У меня есть веб-API ASP.NET Core 9.0 с методом POST, который принимает XML. Сообщение передается в мой контроллер как десериализованный объект, однако любые пустые элементы в опубликованном XML-контенте вызывают проблемы с десериализацией. Когда я десериализую с помощью методов XDocument, я могу удалить пробелы, которые приводят к исключениям десериализации. Однако у меня возникли проблемы с доступом к вызову конфигурации в MvcBuilder, который выполнил бы тот же шаг.
Можно ли настроить MvcBuilder, возвращаемый AddControllers(), для удаления пробелов?
Вот моя программа.cs:

Код: Выделить всё

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers().AddXmlSerializerFormatters();

var app = builder.Build();

// Configure the HTTP request pipeline.

app.UseHttpsRedirection();

app.UseAuthorization();

app.MapControllers();

app.Run();
Вот мой контроллер:

Код: Выделить всё

[Route("[controller]")]
[ApiController]
public class MyPlatformController : ControllerBase
{
//
[HttpPost]
public async Task PlatformService(RequestModel request)
{
//process request
return new JsonResult(Ok(postResult));
}
}
Меня также интересует модульное тестирование контроллера. Он не скомпилируется, если я попытаюсь передать строку xml в PlatformService() из метода модульного теста. Есть ли способ проверить десериализацию объекта RequestModel?

Подробнее здесь: https://stackoverflow.com/questions/797 ... mvcbuilder
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»