【问题标题】:How to access the Body of a Post or Put in Asp.net WebAPI using Postman?如何使用 Postman 访问帖子正文或放入 Asp.net WebAPI?
【发布时间】:2015-06-03 13:22:04
【问题描述】:

我有一些简单的代码,这里是我的 Put 处理程序。

我的问题是 value 是空白的,或者我的第二行在这两种方法中都不起作用。为什么我没有访问帖子或放置正文?

  // PUT api/activate/5
    public void Put(int id, [FromBody]string value)
    {
        System.Diagnostics.Debug.WriteLine("Put !");
        System.Diagnostics.Debug.WriteLine(value);


    }

这是我的 Post Handler 代码

 public void Post([FromBody]String value)
        {
            System.Diagnostics.Debug.WriteLine("Post !");
            System.Diagnostics.Debug.WriteLine(value);


        }

这是我得到的错误

iisexpress.exe 信息: 0 : Message='Action returned 'null'', Operation=ReflectedHttpActionDescriptor.ExecuteAsync iisexpress.exe 信息:0: 操作=ApiControllerActionInvoker.InvokeActionAsync,状态=204 (NoContent) iisexpress.exe 信息:0: 操作=ActivateController.ExecuteAsync,状态=204(无内容) iisexpress.exe 信息:0:响应,状态=204(无内容), 方法=PUT,网址=http://localhost:53676/api/activate/3, Message='Content-type='none', content-length=unknown' iisexpress.exe 信息: 0 : Operation=ActivateController.Dispose 程序 '[14136] iisexpress.exe' 已退出,代码为 0 (0x0)。

这就是我使用邮递员发送 put 或 post 的方式

我在发送时收到 204,但这似乎没问题,因为我没有返回任何东西。

**我想做的是从我的 asp.net 代码中访问值。即 value 的 writeline 不会打印任何内容,因为我无法正确地从正文中获取值。

在 Rails 中,我会说 response.body 来访问此服务器端。如何访问我在 asp.net 代码中发布的数据??**

【问题讨论】:

  • 我没有看到您从 Put 和 Post 中返回任何内容 -
  • 我必须这样做吗?我的问题是无法获取我在我的 asp.net 服务器端代码中发布或放入的数据
  • 您收到的 204 响应是正确的,因为您的操作返回 void typecastexception.com/post/2014/09/28/…
  • 我认为我的问题措辞有误。我的问题是如何在我的 asp.net 代码中访问正文的值。我似乎无法打印那个

标签: asp.net .net post asp.net-web-api postman


【解决方案1】:

MVC 应用程序中的发布请求使用名称进行路由。
如果你有http://localhost:53676/api/activate/?country=jordan
方法public void Post(string country) 将接收该 Post 值。

在方法中也使用字符串而不是字符串,即使它们最终相同也是最佳实践。见SO Answer

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-09
    • 1970-01-01
    • 2021-03-01
    • 2018-09-09
    • 1970-01-01
    • 1970-01-01
    • 2017-12-13
    相关资源
    最近更新 更多