【发布时间】:2020-06-23 00:49:04
【问题描述】:
我有一个在 Azure 上运行并通过 Postman 进行全面测试的 WebApi
此 API 需要 2 个标头
Content-Type: application/json
AppToken: {{AppToken}}
我想从控制台应用程序调用此 API,我认为这是一个非常简单的过程。这是我的主程序
static void Main(string[] args)
{
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("BASE_ADDRESS/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Add("AppToken", "MY_APP_TOKEN_VALUE");
// Call API to create the registration
CreateRegistration(client).Wait();
}
public static async Task CreateRegistration(HttpClient client)
{
using (client)
{
try
{
Registration reg1 = new Registration { email = "test@ssdafsds.com", clientId = 2342342, registrationId = 23423, ProgramId = 13 };
HttpResponseMessage responseMessage = await client.PostAsJsonAsync("api/auth/register", reg1);
responseMessage.EnsureSuccessStatusCode();
// Handle success
}
catch (Exception ex)
{
// Handle failure
Console.WriteLine(ex.StackTrace);
}
}
}
我收到一个内部服务器错误,作为“原因短语”,状态码为 500。我不确定为什么会收到此错误。我应该得到 201 Created like postman
知道如何解决这个问题吗?
【问题讨论】:
-
500 是来自服务器的通用响应,表明内部发生了一些它没有预料到的事情。这可能是你的错,或者他们的错,一个糟糕的设计产品,或者任何数量的东西。如果邮递员工作,我建议使用提琴手并比较两个请求并使用手头的所有信息调试问题。
-
Postman 可以为您的语言生成代码并尝试...如果可行,只需比较代码
-
@Clystian 我没有想到这一点。这对我有用。谢谢!
-
您是否尝试在 EnsureSuccessStatusCode 之前读取 responseMessage 内容或显示什么异常消息?
-
它给了我一个一般异常“内部服务器错误”
标签: c# asp.net asp.net-web-api