如何解决C# ASP.NET Web Api XML 元素重命名数据注释不起作用
我使用的是 ASP.Net,而不是 DotNetCore。
我想要实现的是构建一个结构良好的 API,该 API 将使用数据注释返回具有相同命名结构的结果(Json 和 XML)。
我已经阅读了多个论坛,说明您可以使用 [XmlElement(ElementName = "xmlId")] 注释来实现所需的结果。
然而,这似乎不适用于 XML 结果集。
我有以下课程
[XmlRoot(ElementName="Result")]
public class Resultviewmodel
{
[XmlElement(ElementName = "xmlId")]
[JsonProperty(PropertyName = "jsonId")]
public int Id { get; set; }
[XmlElement(ElementName = "xmlMessage")]
[JsonProperty(PropertyName = "jsonMessage")]
public string Message { get; set; }
}
和以下 API 端点
[RoutePrefix("api/values")]
public class ValuesController : ApiController
{
[HttpGet,Route("Get")]
public IHttpActionResult Get()
{
var result = new Resultviewmodel { Id = 1,Message = "Success" };
return Content(HttpStatusCode.OK,result);
}
}
json 结果返回具有 JsonProperty 注释指定的正确名称的对象。但是 XML 没有。
我正在使用邮递员测试端点并添加 Accept 标头以返回 Json 或 XML。
我错过了什么?
以下是我从邮递员那里得到的 Json 和 XML 响应。
如果 DotNetCore web Api 处理得更好,我也愿意切换。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。