在C#WebAPI中处理POST表单数据

亚历山大大帝

我正在通过以下请求调用C#WebAPI:

Request URL: https://devserver/myapp/api/SaveSettings?debug=0
Request Method:POST
Status Code:202 Accepted

Request Headers
...
Content-Type:application/x-www-form-urlencoded; charset=UTF-8
...

Form Data:
config:{"test":"test12"}

Response Headers:
...
Server: Microsoft-IIS/7.5
...

WebAPI应用程序代码为

public class SaveSettingsController : ApiController
{
    [System.Web.Http.HttpGet]
    [System.Web.Http.HttpPost]
    public HttpResponseMessage PostComplex(MyModel update)
    {
        if (ModelState.IsValid)
        {
            return Request.CreateResponse(HttpStatusCode.Accepted,update.config.test);
        }
    }
}

虽然状态代码发送正确(这就是为什么我开始相信此代码已真正执行的原因),但内容始终为null,我不知道为什么。我还尝试了一个配置设置为字符串类型的模型,并且

            return Request.CreateResponse(HttpStatusCode.Accepted,update.config);

但无济于事:它仍然返回null。

为什么是这样?我究竟做错了什么?

大圣

如果您在Web api中有一个post参数,则可以使用[FromBody]属性装饰它,如下所示:

    [System.Web.Http.HttpGet]
    [System.Web.Http.HttpPost]
    public HttpResponseMessage PostComplex([FromBody] MyModel update)
    {
        if (ModelState.IsValid)
        {
            return Request.CreateResponse(HttpStatusCode.Accepted,update.config.test);
        }
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在C#WebAPI中处理POST表单数据

来自分类Dev

C#WebAPI中的ExceptionHandler

来自分类Dev

如何使用Django处理POST表单数据(避免刷新)?

来自分类Dev

C#webapi返回后发送数据

来自分类Dev

C#webapi返回后发送数据

来自分类Dev

在PHP中读取多部分/表单数据POST数据

来自分类Dev

表单数据中的对象未正确处理

来自分类Dev

如何从 Java 中的 POST 请求中获取表单数据

来自分类Dev

HttpClient Post REST API中的C#多部分表单数据

来自分类Dev

提取-多部分/表单数据POST中缺少边界

来自分类Dev

在Express中获取POST和GET请求的表单数据

来自分类Dev

request.POST不读取Django中的表单数据

来自分类Dev

使用Objective-C POST多部分/表单数据

来自分类Dev

通过POST值类型进行C#WebAPI路由

来自分类Dev

将数组从jQuery POST传递到C#WebApi

来自分类Dev

去处理HTML表单数据

来自分类Dev

使用ENCTYPE处理表单数据

来自分类Dev

表单数据在哪里处理?(Django)

来自分类Dev

Django无法处理html表单数据

来自分类Dev

弹簧形式:c:forEach中的表单数据绑定

来自分类Dev

nginx不接受POST表单数据

来自分类Dev

安全隐藏表单数据$ _POST

来自分类Dev

CURL + POST +多部分/表单数据

来自分类Dev

带有表单数据的POST请求

来自分类Dev

HTTP POST多部分表单数据

来自分类Dev

无需提交的POST表单数据

来自分类Dev

Nginx不接受POST表单数据

来自分类Dev

安全隐藏表单数据$ _POST

来自分类Dev

从 HTTP post 获取表单数据