Net Core WebApi控制器接收原始请求正文内容

 

主要目标

在Asp.net Core控制器中,通过自定义格式化程序来映射自定义处理控制器中的“未知”内容。

简单案例

为了演示这个问题,我们用VS2017创建一个默认的Asp.net Core Web Api项目。

         [Route("api/[controller]")]     [ApiController]     public class ValuesController : ControllerBase{         [HttpGet]         public ActionResult<string> Get() {             return "ok";         }          [HttpPost]         [Route("PostX")]         public ActionResult<string> Post([FromBody] string value)         {             return value;         }     } 

Json请求

我们从最常见的json输入请求开始。

User-Agent: Fiddler Host: localhost:5000 Content-Type: application/json Content-Length: 16  

请求body:

{"123456"} 

通过后台调试和fiddler抓包,我们可以看到请求输入和返回。

 
后台调试,查看请求输入结果

 
fiddler查看请求header

 
fiddler查看返回结果

 

注意!!

  • 别忘了[FromBody],有时候会忘的。
  • 后台action接收类型为string的时候,请求body只能是字符串,不能传json对象。我演示这个例子时,被这点坑了。如果接收对象是一个类的时候,才可以传json对象。

关键字:

50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信