我正在使用 .Net 的 Web API 编写一个简单的 API。我定义了以下模型:
public class VehicleUpdate
{
[Required(ErrorMessage = "DealerID Required")]
public int DealerID { get; set; }
[Required(ErrorMessage = "VIN Required")]
[StringLength(17, ErrorMessage = "VIN Must be 17 characters", MinimumLength = 17)]
public string VIN { get; set; }
[StringLength(8000, ErrorMessage = "Comments must be less than 8,000 characters")]
public string Comments { get; set; }
public double Retail { get; set; }
}
我尝试通过使用以下 XML 执行 HTTP Post 来测试它
<VehicleUpdate>
<DealerID>30</DealerID>
<VIN>1FMRU17L0WLA62356</VIN>
<Comments>This is a test.</Comments>
<Retail>1000</Retail>
</VehicleUpdate>
当我这样做时,我得到以下 SerializationException:
System.Runtime.Serialization.SerializationException:第 1 行位置 16 出错。期望来自命名空间“http://schemas.datacontract.org/2004/07/API.Models”的元素“VehicleUpdate”。遇到名称为“元素”的“元素”车辆更新',命名空间''。在 System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator 阅读器,布尔 verifyObjectName,DataContractResolver dataContractResolver)在 System.Runtime.Serialization. (XmlReader 阅读器)位于 System.Net.Http.Formatting.XmlMediaTypeFormatter.<>c_DisplayClass3 。
有人可以告诉我我做错了什么吗?我认为这将是一个有效的 XML 消息。