如何使用 Postman 访问 Post 的主体或放入 Asp.net WebAPI?

How to access the Body of a Post or Put in Asp.net WebAPI using Postman?

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

我的问题是值是空白或者我的第二个写入行在这两种方法中都不起作用。为什么我无法访问 post 或无法正确放置正文?

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


    }

这是我的 Post 处理程序代码

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


        }

这是我得到的错误

iisexpress.exe Information: 0 : Message='Action returned 'null'', Operation=ReflectedHttpActionDescriptor.ExecuteAsync iisexpress.exe Information: 0 : Operation=ApiControllerActionInvoker.InvokeActionAsync, Status=204 (NoContent) iisexpress.exe Information: 0 : Operation=ActivateController.ExecuteAsync, Status=204 (NoContent) iisexpress.exe Information: 0 : Response, Status=204 (NoContent), Method=PUT, Url=http://localhost:53676/api/activate/3, Message='Content-type='none', content-length=unknown' iisexpress.exe Information: 0 : Operation=ActivateController.Dispose The program '[14136] iisexpress.exe' has exited with code 0 (0x0).

这就是我使用 postman

发送 put 或 post 的方式

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

**我想做的是从我的 asp.net 代码中访问值。也就是说,值的写入行不会打印任何内容,因为我无法从正文中正确获取值。

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

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

在方法中也使用 string Not String,即使它们最终相同也是最佳实践。参见 SO Answer