У меня возникли проблемы с доступом к вызову конфигурации в MvcBuilder, хотя при этом выполняется тот же шаг. Можно ли настроить MvcBuilder, возвращаемый AddControllers(), для удаления пробелов?
program.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]
[Produces("application/xml")]
public IActionResult PlatformService(RequestModel request)
{
var responseData = new TestResponse { Foo = 1, Bar = 101 };
//process request
return Ok(responseData);
}
}
Код: Выделить всё
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true)]
[XmlRoot]
[Serializable]
public class RequestModel
{
private int foo;
[DefaultValue(0)]
public int Foo
{
get { return foo; }
set { foo = value; }
}
private int bar;
[DefaultValue(0)]
public int Bar
{
get { return bar; }
set { bar = value; }
}
}
Код: Выделить всё
Удаленный сервер возвратил ошибку: (400) Неверный запрос.
Хотя это действительно неверный запрос, это интерфейс с устаревшей системой, для которой я нужна отказоустойчивость. Когда я заменяю на , я получаю TestResponse, который указывает, что API работает.
Кроме того, контроллер не будет компилироваться, если я передам строку XML в PlatformService() из метода модульного теста. Как я могу проверить десериализацию объекта RequestModel?
Подробнее здесь: https://stackoverflow.com/questions/797 ... mvcbuilder
Мобильная версия