gpt4 book ai didi

asp.net - 有没有办法在 Web Api Controller 中处理表单发布数据?

转载 作者:行者123 更新时间:2023-12-03 10:20:59 27 4
gpt4 key购买 nike

ASP.NET MVC ,可以访问表单发布数据:

var thisData = Request.Form["this.data"];

是否可以在 Web API 中实现相同的功能? ApiController ?

最佳答案

ASP.NET Web API 在处理不同的 HTTP 场景时变得更加健壮——尤其是流。因此,只有媒体类型格式化程序通常会接触内容并且必须使内容保持一致。

在 ASP.NET MVC 中,application/x-www-form-urlencoded内容类型是一等公民(特别是因为这是 95% 的 POST 请求的内容类型),我们有 FormsCollection在访问中提供字典访问,只要它被定义为输入参数。

在 ASP.NET Web API 中,application/x-www-form-urlencoded是另一种内容类型,应该由其 MediaTypeFormatter 读取。因此,ASP.NET Web API 无法对 Forms 做出任何假设。 .

ASP.NET Web API 中的正常方法是将表单表示为模型,以便媒体类型格式化程序对其进行反序列化。另一种方法是将 Action 的参数定义为 NameValueCollection :

public void Post(NameValueCollection formData)
{
var value = formData["key"];
}

关于asp.net - 有没有办法在 Web Api Controller 中处理表单发布数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11593595/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com