2017-07-18 80 views
0

我遇到过这样的问题。在ASP.NET Web Api中获取请求的身体

我在控制器中有方法,即接收POST请求体内的数据。

这里是方法。

// POST: api/StartWorkingDays 
    [ResponseType(typeof(StartWorkingDay))] 
    public IHttpActionResult PostStartWorkingDay(StartWorkingDay startWorkingDay) 
    { 
     if (!ModelState.IsValid) 
     { 
      return BadRequest(ModelState); 
     } 

     db.StartWorkingDays.Add(startWorkingDay); 
     db.SaveChanges(); 
     return Json(new { Result = "Success", Message = "Saved Successfully"}); 
     //return CreatedAtRoute("DefaultApi", new { id = startWorkingDay.Id }, startWorkingDay); 
    } 

我如何看到我收到的请求的身体?

感谢您的帮助。

+0

startWorkingDay应该是您的请求的正文,并且还请检查Request.Content – Sujith

+0

好吧,我可以看到什么移动应用程序发送给我'startWorkingDay'?@Sujith –

+0

是的。当您调试代码时,您可以看到startWorkingDay中填充了您发布的内容。如果您发布的数据与StartWorkingDay模型不同,则startWorkingDay将为空。在这种情况下,您可以阅读Request.Content并查看发布到的内容。 – Sujith

回答

1
[HttpPost] 
    public HttpResponseMessage PostStartWorkingDay([FromBody] StartWorkingDay startWorkingDay) 
    { 
     //here above startWorkingDay is body your mobile developer will send 
     //you and data can be viewed while debugging , 
     //tell mobile developer to set content-type header should be JSON. 
     return Request.CreateResponse(HttpStatusCode.Created, "Success"); 
    } 

为什么你的返回类型是JSON?你应该使用HttpResponse。我相信你正在使用Web API 2。使用属性路由,如果你想发送JSON格式的响应,然后从AppAStart文件夹中的WebApiConfig.cs文件中删除Xml格式化程序

相关问题