api 无法接受 XML
api cannot accept XML
我正在使用 .netCore 3.1,这是我第一次处理 XML。
我正在尝试读取 xml 数据,解析它们然后将它们保存到数据库中。
我有一个名为 ExternalAppointment
的模型,我想将数据映射到该模型。
这是我的控制器:
[HttpPost("xml")]
public async Task<ActionResult<Appointment>> XMLContent([FromBody] ExternalAppointment xmldata)
{
//stuff.
}
这是我的 startup.cs
:
services.Configure<RequestLocalizationOptions>(options =>
{
//some code
services.AddMvc()
.AddXmlSerializerFormatters();
//rest of code
}
这里是 xml 我正在传递的邮递员:
<?xml version="1.0" encoding="UTF-8"?>
<event>
<business_owner_id>1</business_owner_id>
<business_owner_name>Doctor's lab</business_owner_name>
<business_owner_phone_number>44556699887</business_owner_phone_number>
<customer_email>example@example.com</customer_email>
<customer_phone_number>1122336655</customer_phone_number>
<date_and_time>16/12/2021 20:45:00</date_and_time>
<location>21 jump street</location>
<service_name>PCR</service_name>
</event>
而且我似乎无法完成请求,我一直收到 405 响应。
我尝试在控制器之前添加 [consumes("application/xml")]
装饰器,但它没有帮助。
有什么想法吗?
这是我的 XElement 演示,它可以运行:
启动:
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
services.AddMvc()
.AddXmlSerializerFormatters();
}
Api控制器:
[Route("api/[controller]")]
[ApiController]
public class ApiController : ControllerBase
{
[HttpPost("xml")]
public IActionResult XMLContent([FromBody] XElement xmldata)
{
return Ok();
//stuff.
}
}
postman(你需要确定你使用的是post请求):
结果:
我正在使用 .netCore 3.1,这是我第一次处理 XML。
我正在尝试读取 xml 数据,解析它们然后将它们保存到数据库中。
我有一个名为 ExternalAppointment
的模型,我想将数据映射到该模型。
这是我的控制器:
[HttpPost("xml")]
public async Task<ActionResult<Appointment>> XMLContent([FromBody] ExternalAppointment xmldata)
{
//stuff.
}
这是我的 startup.cs
:
services.Configure<RequestLocalizationOptions>(options =>
{
//some code
services.AddMvc()
.AddXmlSerializerFormatters();
//rest of code
}
这里是 xml 我正在传递的邮递员:
<?xml version="1.0" encoding="UTF-8"?>
<event>
<business_owner_id>1</business_owner_id>
<business_owner_name>Doctor's lab</business_owner_name>
<business_owner_phone_number>44556699887</business_owner_phone_number>
<customer_email>example@example.com</customer_email>
<customer_phone_number>1122336655</customer_phone_number>
<date_and_time>16/12/2021 20:45:00</date_and_time>
<location>21 jump street</location>
<service_name>PCR</service_name>
</event>
而且我似乎无法完成请求,我一直收到 405 响应。
我尝试在控制器之前添加 [consumes("application/xml")]
装饰器,但它没有帮助。
有什么想法吗?
这是我的 XElement 演示,它可以运行:
启动:
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
services.AddMvc()
.AddXmlSerializerFormatters();
}
Api控制器:
[Route("api/[controller]")]
[ApiController]
public class ApiController : ControllerBase
{
[HttpPost("xml")]
public IActionResult XMLContent([FromBody] XElement xmldata)
{
return Ok();
//stuff.
}
}
postman(你需要确定你使用的是post请求):
结果: