如何将数据从 HttpPost 返回到 WebApi
本文关键字:返回 WebApi HttpPost 数据 | 更新日期: 2024-11-06 17:19:21
我收到了一个规范,该规范请求使用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
但是,有没有更简单的方法来实现这一点?
在 ASP.NET MVC 网站中,处理 Post 的控制器方法将返回 ActionResult
。 ActionResult 可以是具有命名参数的 JsonResult。
在 WebAPI 中,您可以通过实现IHttpActionResult
来模拟 ActionResult,从而执行类似操作。