如何将数据从HttpPost返回到WebApi

时间:2015-03-08 11:35:56

标签: c# asp.net-web-api http-post

我已通过请求使用HttpPost请求并接收返回数据的规范 - 从规范中查看,就好像它是表单数据一样。

我当前的WebApi实现并没有从HttpPost请求返回任何数据,只有HttpResponse.OK(200)和导航到的位置。

我尝试过一个非常简单的格式化程序,但这会返回xml:

var baseResponse = new BaseResponse() { Something = "Fred" };
HttpResponseMessage response = this.Request.CreateResponse<BaseResponse>(HttpStatusCode.OK, baseResponse);
return response;

如果我将"application/x-www-form-urlencoded"添加到方法中,则会收到错误消息:

Could not find a formatter matching the media type 'application/x-www-form-urlencoded'

加速文档显示键/值对...所以我可以将它们生成为字符串,还是实现自定义格式化程序?

e.g.
Header = blah blah 200 OK
Data = Something=Fred&SomethingElse=NotFred&AnotherThing=Banana

但是,有没有更简单的方法来实现这一目标?

1 个答案:

答案 0 :(得分:0)

在ASP.NET MVC网站中,处理Post的控制器方法将返回ActionResult。 ActionResult可以是一个可以命名参数的JsonResult。

在WebAPI中,您可以通过implementing IHttpActionResult执行类似操作来模拟ActionResult。