我想测试下面一个API请求的输出。
我想从以下响应中获取exceptionMessage,当我发送DELETE请求到API时,会得到这样的响应。在Visual Studio调试时,它不允许我查看响应内容对象,给出了以下错误信息:
async Task DeleteNonExistantFoo()
{
using (HttpClient client = new HttpClient())
{
client.BaseAddress = new Uri("Http://localhost:43240/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
using (HttpResponseMessage response = await client.DeleteAsync("api/foos/1"))
{
var responseContent = await response.Content.ReadAsStringAsync();
//Assert.AreEqual(?????, "A Foo with ID of 1 does not exist.");
}
}
}
我想从以下响应中获取exceptionMessage,当我发送DELETE请求到API时,会得到这样的响应。在Visual Studio调试时,它不允许我查看响应内容对象,给出了以下错误信息:
"responseContent 由于该指令指针不可用,可能已被优化掉,因此无法获取局部变量或参数的值。"
我需要将其转换为JSON对象才能读取吗?
{
"message": "An error has occurred.",
"exceptionMessage": "A Foo with ID of 1 does not exist.",
"exceptionType": "System.Exception",
"stackTrace": "
}
HttpClient
,这实际上是性能和稳定性问题。您应该使用共享静态HttpClient
(但要注意由此引起的DNS问题)。 - maccettura