为什么我的 WebApi 收到响应状态代码 204 No Content?

Why am I getting response status code 204 No Content in my WebApi?

首先,我的英文不是很好,希望你明白我想说的意思。

我是 WebApi 的新手。我创建了一个,一切似乎都很好。在我的函数中,我 return 一个字符串,但是当我使用 Postman 测试网络 api 时,它 return 是一个状态代码 204 没有内容 。 我查找了此状态,显然我的请求已成功,但是当我查看我的数据库时,什么也没发生。 (我的函数在我的数据库中保存了一些数据,并且 return 是一个字符串,无论是否成功)。

所以,我的问题是,当我的函数必须 return 一个字符串时,为什么我会收到这个状态代码?或者为什么当我用 Postman 测试 Web Api 时它 return 是 204 无内容代码(这意味着我的请求已成功)什么时候不正确(因为我的数据库中没有保存任何内容)?

这是我在我的网站中的功能 api:


    [HttpPost]
    public string IncomingPO(string request)
    {
      //do some stuff
      return "response as a string";
    }

我的参数“string request”是一个包含xml的字符串。我将字符串读取为 xml 并用它做一些事情。 (例如,将 xml 中的一些节点保存在数据库中)。

无论所有功能是否成功,我都期待我的字符串输出,但我没有收到任何东西。只有状态码 204 No Content。 (当内容真正应该 returned 时)。 欢迎任何建议。

可以解决我的问题。 我唯一需要做的就是指定调用我的 Api 网站的路径。 此外,我还必须修改参数和函数的数据类型。

像这样:

[HttpPost]
[Route("api/Controller/IncomingPO")]
public HttpResponseMessage IncomingPO(HttpRequestMessage request)
{
  //do some stuff
  return new HttpResponseMessage()
            {
                Content = new StringContent("My response string", System.Text.Encoding.UTF8, "application/xml"),
                StatusCode = HttpStatusCode.OK
            };
}