【问题标题】:ASP.NET Web API 2.0 Parameters NullASP.NET Web API 2.0 参数空
【发布时间】:2017-06-22 22:05:33
【问题描述】:

我知道它被问了很多时间,我已经尝试了所有方法,但仍然面临问题。这是我的代码:

    // POST api/<controller>
    public string Post([FromBody]string value)
    {
        return value;
    }

仅仅返回值没有什么花哨的。 我正在使用 Chrome 的 PostMan 插件 我已经尝试了 100 次,但仍然得到与响应相同的空值。我已经尝试过 Content-Type application/json 和提到的所有内容,但仍然为空。

【问题讨论】:

  • 好吧,你怎么称呼它?问题显然不在您发布的代码中。
  • 向我们展示您发送的内容。
  • 谢谢,我的问题已经解决,问题出在我发送的对象中。

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


【解决方案1】:

不太确定问题是什么,但是您正在寻找的是使用单个值设置您的 POST

如下:

POST /api/values HTTP/1.1
Host: localhost:50121
Content-Type: application/json
Accept: application/json, text/javascript
Cache-Control: no-cache

'abc'

现在这是 JSON 帖子,因此正文没有参数名称,这是设计使然,因为您要发布单个值。

如果您需要多个值或更复杂的对象,您应该使用class 对象而不是单个值。

【讨论】:

  • 我认为accept不能解决问题accept用于告诉服务器以这种形式向我发送响应
  • Accept 没有解决它。但是 Content-Type 和请求正文的设置确实如此。 Accept 标头将帮助 Web Api 确定调用的结果。同样在这种情况下没有轴承。 docs.microsoft.com/en-us/aspnet/web-api/overview/…
  • 非常感谢。由于 StackOverflow 上的所有问题都是关于复杂 json 的,我很难理解如何发送一个简单的字符串。我正在这样做 { value: "Hello World" } 而不是 "Hello World"
  • 是的,理解单值字符串有点棘手。如果您满意,请务必标记答案。问候。
猜你喜欢
  • 2014-01-28
  • 1970-01-01
  • 2015-01-06
  • 2020-10-30
  • 2018-12-17
  • 2019-12-04
  • 2013-07-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多