我正在向外部api发送http请求帖子。我正在构造一个json对象以添加到请求体中。如何在发送之前检查添加的正文/内容是否正确。
public async void TestAuthentication()
{
var client = new HttpClient();
var request = new HttpRequestMessage()
{
RequestUri = new Uri("http://test"),
Method = HttpMethod.Post
};
var jsonObj = new
{
data = "eneAZDnJP/5B6r/X6RyAlP3J",
};
request.Content = new StringContent(JsonConvert.SerializeObject(jsonObj), Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
}
发布于 2022-06-12 20:51:47
如果您不确定序列化是否按预期工作,可以在LINQpad或dotnetfiddle.net中尝试。请参阅在控制台上返回JSON的我的例子。如果您不确定一段代码是否按预期工作,这些工具对于方法或代码片段的快速原型化是很好的。
您也可以签入Wireshark,但是如果您的连接没有加密(没有HTTPS),这可能会有点过分,并且工作得最好。
我个人倾向于以以下方式测试调用某些API的代码:
这类代码是否应该被测试(这种方式)可能是有争议的,但我发现这种方式是好的。我过去常常将HttpClient
类抽象出去,但是IMHO不再推荐这样做了,因为如果类访问API (并且不做任何其他重要的事情),HTTP访问是应该测试的关键部分,而不是模拟的。
https://stackoverflow.com/questions/72596938
复制相似问题