我正在尝试学习Web API,我尝试了以下代码,当我访问http://localhost:50737/api/persons
时,它按预期工作人物模型
SELECT Name, Gender, Salary, DepartmentName
FROM Employee
JOIN Department ON Employee.DepartmentId = Department.DepartmentName
人员控制器
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int? DigitID { get; set; }
}
XML响应
public class PersonController : ApiController
{
[Route("api/persons")]
public IList<Person> GetAllPersons()
{
return new List<Person>() { new Person() {FirstName = "My First Name 1" }, new Person() {FirstName = "My First Name 2" } };
}
}
我将<ArrayOfPerson>
<Person>
<DigitID i:nil="true"/>
<FirstName>My First Name 1</FirstName>
</Person>
<Person>
<DigitID i:nil="true"/>
<FirstName>My First Name 2</FirstName>
</Person>
</ArrayOfPerson>
添加到global.asax,后者又删除了LastName而不是DigitID
我需要
将ArrayOfPerson更改为“Persons”
添加一个属性“Count”,其中包含返回的总人数。
从XML响应中删除null元素
因此预期的XML响应将是
GlobalConfiguration.Configuration.Formatters.XmlFormatter.UseXmlSerializer = true;
我如何在JSON中做同样的事情,我需要只支持JSON
答案 0 :(得分:0)
:
将此[return: MessageParameter(Name = "Persons")]
用作attribute
的{{1}}。
:将operation
更改为DigitID
,否则它会继续显示在您的回复中,因为您将其标记为Int
。