ASP.NET WebApi JObject 使用
ASP.NET WebApi 中使用非Get
请求,传递参数需要用对象包裹起来,比如:
[HttpPost]
public async Task<IActionResult> PostValue([FromBody]PostDTO data)
{
return Ok(await _valuesService.Post(data.Name, data.Value););
}
但如果操作比较多的话,我们需要对每个Api
创建一个DTO
对象,如果传递的参数很少,这样创建对象就有点太浪费,并且ApplicationService
接口参数都是拍扁的,很少会传递DTO
对象作为参数。
怎么解决这个问题呢?很简单,使用JObject
就可以了,示例:
using Newtonsoft.Json.Linq;
[HttpPost]
public async Task<IActionResult> PostValue([FromBody]JObject data)
{
return Ok(await _valuesService.Post(data["name"].ToObject<string>(), data["value"].ToObject<string>()););
}
作者:田园里的蟋蟀
微信公众号:你好架构
出处:http://www.cnblogs.com/xishuai/
公众号会不定时的分享有关架构的方方面面,包含并不局限于:Microservices(微服务)、Service Mesh(服务网格)、DDD/TDD、Spring Cloud、Dubbo、Service Fabric、Linkerd、Envoy、Istio、Conduit、Kubernetes、Docker、MacOS/Linux、Java、.NET Core/ASP.NET Core、Redis、RabbitMQ、MongoDB、GitLab、CI/CD(持续集成/持续部署)、DevOps等等。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
微信公众号:你好架构
出处:http://www.cnblogs.com/xishuai/
公众号会不定时的分享有关架构的方方面面,包含并不局限于:Microservices(微服务)、Service Mesh(服务网格)、DDD/TDD、Spring Cloud、Dubbo、Service Fabric、Linkerd、Envoy、Istio、Conduit、Kubernetes、Docker、MacOS/Linux、Java、.NET Core/ASP.NET Core、Redis、RabbitMQ、MongoDB、GitLab、CI/CD(持续集成/持续部署)、DevOps等等。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。