WEB API CORE 接收 JSON 数据绑定给控制器参数

小污云姐姐 2019-03-22 09:34:08
写了个例子,客户端Content-Type=application/json post的数据 {"age":"18","name":"zh"} 控制器的方法public void test(string age,string name){} 控制器方法接收到的参数值都是 null,不知道如何才能把值对应到参数上?

不讨论使用[FromBody] [FromUri] 这些方式,也不考虑Content-Type=application/x-www-form-urlencode(值是key=val&key=val这种)。
...全文
322 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
小污云姐姐 2019-03-22
  • 打赏
  • 举报
回复
引用 5 楼 正怒月神 的回复:
[quote=引用 4 楼 花开自有花落时 的回复:]
[quote=引用 2 楼 正怒月神 的回复:]
你也可以 使用dynamic,
不过我个人不建议使用这种作为参数类型
public void test(dynamic entity){
entity.age
entity.name
}


引用 3 楼 stherix 的回复:
定义一个类
class Person{ string age ;string name }
然后用这个类当形参


感谢回答,也不考虑实体模型,我只是想单纯的知道怎么才能做到我说的那样。[/quote]
没有办法的,因为post只支持一个参数。
除非一个是url传过来的,一个是body传过来的。
而且方法上要注明是 formuri和frombody,
但是这个在你问题里已经排除了。[/quote]

那是不是有啥接口可以在请求达到控制器方法前的寻找过程处理下映射参数呢?
正怒月神 版主 2019-03-22
  • 打赏
  • 举报
回复
你可以看一下 https://blog.csdn.net/hanjun0612/article/details/50893719
正怒月神 版主 2019-03-22
  • 打赏
  • 举报
回复
引用 4 楼 花开自有花落时 的回复:
[quote=引用 2 楼 正怒月神 的回复:] 你也可以 使用dynamic, 不过我个人不建议使用这种作为参数类型 public void test(dynamic entity){ entity.age entity.name }
引用 3 楼 stherix 的回复:
定义一个类 class Person{ string age ;string name } 然后用这个类当形参
感谢回答,也不考虑实体模型,我只是想单纯的知道怎么才能做到我说的那样。[/quote] 没有办法的,因为post只支持一个参数。 除非一个是url传过来的,一个是body传过来的。 而且方法上要注明是 formuri和frombody, 但是这个在你问题里已经排除了。
小污云姐姐 2019-03-22
  • 打赏
  • 举报
回复
引用 2 楼 正怒月神 的回复:
你也可以 使用dynamic,
不过我个人不建议使用这种作为参数类型
public void test(dynamic entity){
entity.age
entity.name
}


引用 3 楼 stherix 的回复:
定义一个类
class Person{ string age ;string name }
然后用这个类当形参


感谢回答,也不考虑实体模型,我只是想单纯的知道怎么才能做到我说的那样。
stherix 2019-03-22
  • 打赏
  • 举报
回复
定义一个类 class Person{ string age ;string name } 然后用这个类当形参
正怒月神 版主 2019-03-22
  • 打赏
  • 举报
回复
你也可以 使用dynamic, 不过我个人不建议使用这种作为参数类型 public void test(dynamic entity){ entity.age entity.name }
正怒月神 版主 2019-03-22
  • 打赏
  • 举报
回复
改成 public void test(User user){} public class User { age name }

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧