Ist es möglich, den von AddControllers() zurückgegebenen MvcBuilder so zu konfigurieren, dass Leerzeichen entfernt werden?
Hier ist meine program.cs:
Code: Select all
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();
Code: Select all
[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);
}
}
Code: Select all
[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; }
}
}
Code: Select all
Wenn ich durch ersetze, erhalte ich eine TestResponse zurück, die angibt, dass die API normal funktioniert.
Ich frage mich auch, ob ich den Controller einem Unit-Test unterziehen soll. Es wird nicht kompiliert, wenn ich versuche, eine XML-Zeichenfolge in PlatformService() aus der Unit-Test-Methode zu übergeben. Gibt es eine Möglichkeit, die Deserialisierung des RequestModel-Objekts zu testen?
Mobile version