如何将数据从 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

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

如何将数据从 HttpPost 返回到 WebApi

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

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