Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Request.createResponse返回空[]和404 erro如何获取全面消息_C#_Api_Rest_Http Status Codes - Fatal编程技术网

C# Request.createResponse返回空[]和404 erro如何获取全面消息

C# Request.createResponse返回空[]和404 erro如何获取全面消息,c#,api,rest,http-status-codes,C#,Api,Rest,Http Status Codes,我正在使用post man测试我们的API,如果返回一个空数组,我希望得到某种全面的消息,而不是只有空白的尖括号[]和404消息。我可以使用HttpStatusCode的这个或至少一个有用的属性吗 if (result.Count > 0) { return Request.CreateResponse<object>(HttpStatusCode.OK, result); } else { string[] emptyArray = new string[0]

我正在使用post man测试我们的API,如果返回一个空数组,我希望得到某种全面的消息,而不是只有空白的尖括号[]和404消息。我可以使用HttpStatusCode的这个或至少一个有用的属性吗

if (result.Count > 0)
{
    return Request.CreateResponse<object>(HttpStatusCode.OK, result);
}
else
{
    string[] emptyArray = new string[0];
    return Request.CreateResponse<string[]>(HttpStatusCode.NotFound, emptyArray);
    //return new HttpResponseMessage(HttpStatusCode.NoContent);
}
if(result.Count>0)
{
返回Request.CreateResponse(HttpStatusCode.OK,result);
}
其他的
{
字符串[]emptyArray=新字符串[0];
return Request.CreateResponse(HttpStatusCode.NotFound,emptyArray);
//返回新的HttpResponseMessage(HttpStatusCode.NoContent);
}

您可以尝试使用ReasonPhrase来指定原因:

   var response = new HttpResponseMessage()
    {
        StatusCode = HttpStatusCode.NoContent,
        ReasonPhrase = "Empty Result"
    };

我理解这个概念,但是我在上面代码的else子句中遇到了一些问题,要返回您真的需要始终返回字符串[]?还可以使用:returnnew-HttpResponseException(new-HttpResponseMessage{StatusCode=HttpStatusCode.NotFound,ReasonPhrase=ReasonPhrase});