asp.net-web-api - 具有复杂类型的 List 属性的 Url 语法
问题描述
模型:
[DataContract]
public class Employee
{
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[DataMember(Name ="id")]
public int Id{ get; set; }
[DataMember(Name = "fullName")]
public string FullName { get; set; }
}
[DataContract]
public class Department
{
public Department()
{
this.Employees = new List<Employee>();
}
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[DataMember(Name = "id")]
public int Id { get; set; }
[DataMember(Name = "name")]
public string Name { get; set; }
[DataMember(Name = "employees")]
public List<Employee> Employees { get; set; }
}
控制器
public HttpResponseMessage Get([FromUri]Department model)
{
if (ModelState.IsValid)
{
}
return new HttpResponseMessage(HttpStatusCode.OK);
}
网址: “ http://localhost:2070/home/get/?id=1&name=IT&Employees=1,John ”
我试图调用上面的 URL 并且模型不读取员工。模型读取其他属性,如 int、double、string、decimal。任何人都可以帮助我通过 URL 传递 List 的正确格式是什么。
另外,我不想用模型绑定器或控制器中的参数来装饰我的每个类。
技术:WebApi、.Net3.5
解决方案
使用 FromUri 和 list/array 时需要指定要绑定的列表和属性的索引
试试这个方法
http://localhost:2070/home/get/?id=1&name=IT&Employees[0].Id=1&Employees[0].Name=John
推荐阅读
- java - Gradle Java Plugin 给出编译错误,但 Eclipse 中的相同代码工作正常
- java - 尝试在 Gitlab CI 管道上运行 Firestore 模拟器会出现“未安装 java”错误
- common-lisp - Common Lisp 将列表的成员从一个索引返回到另一个索引
- java - 电脑发送和手机发送的区别
- c# - 如何使用 System.Text.Json 将 Arraylist 项反序列化为具体类型?
- php - Laravel 护照与另一个要求冲突
- java - 打印构建时间戳
- python - Pytest 拆解夹具
- python - 我想从下面的一堆列表中获取纯文本
- html - 为什么我的 flexbox 没有与 v-for 连续?