C# ASP.NET核心Web API:不应为xmlns
我正在尝试构建一个将XML作为请求数据的API 我的控制器操作:C# ASP.NET核心Web API:不应为xmlns,c#,asp.net-core-webapi,xml-formatting,C#,Asp.net Core Webapi,Xml Formatting,我正在尝试构建一个将XML作为请求数据的API 我的控制器操作: [HttpPost] [Route("/api/MyApi/CalculateMyPrice")] public virtual ActionResult<IEnumerable<string>> CalculateMyPrice(Request request) {} 和我的XML格式设置: public void ConfigureServices(IServiceCollection service
[HttpPost]
[Route("/api/MyApi/CalculateMyPrice")]
public virtual ActionResult<IEnumerable<string>> CalculateMyPrice(Request request)
{}
和我的XML格式设置:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_2)
.AddXmlSerializerFormatters();
}
但是,当我尝试使用POSTMAN访问此方法时,我遇到以下错误:
InvalidOperationException:
不应出现
但是当我从请求XML中删除xmlns=
时,我得到了正确的响应
也许我错过了什么?有什么想法吗?当在
xml
有效负载中应用xml名称空间时,还必须指出相应的模型/类正在使用并且期望使用此名称空间
为此,您使用XmlRootAttribute
装饰类
[XmlRoot(Namespace ="urn:com.mysystems:api-message.002")]
public partial class Request
{
public RequestHeader ReqHdr { get; set; }
}
public partial class RequestHeader
{
public string MsgId { get; set; }
}
在xml
有效负载中应用xml名称空间
时,还必须指出相应的模型/类正在使用并且期望使用此名称空间
为此,您使用XmlRootAttribute
装饰类
[XmlRoot(Namespace ="urn:com.mysystems:api-message.002")]
public partial class Request
{
public RequestHeader ReqHdr { get; set; }
}
public partial class RequestHeader
{
public string MsgId { get; set; }
}
命名空间的URL看起来不正确:uri:com.mysttems:api-nessage.002命名空间的URL看起来不正确:uri:com.mysttems:api-nessage.002