我有一个使用 Flurl 的 Xamarin 应用程序,下面是 Web Api 的帖子
Xamarin 应用程序:
private async Task<LoginResponse> processLogin()
{
try
{
return await "http://192.168.0.12:60257/api/loginapi/Login".WithTimeout(10).PostJsonAsync(new { username = "fsdafsd", password = "gdfgdsf" }).ReceiveJson<LoginResponse>();
}
catch (Exception e)
{
return new LoginResponse { ResponseStatusCode = -1 };
}
}
网络接口:
public LoginResponse Login([FromBody]LoginRequest loginRequest)
{
var result = new LoginResponse();
try
{
var user = this.UserManager.FindAsync(loginRequest.username, loginRequest.password);
if (user != null)
{
result.ResponseStatusCode = 1;
}
else
{
result.ResponseStatusCode = 0;
}
}
catch (Exception e)
{
result.ResponseStatusCode = -1;
}
return result;
}
我可以看到我的 Web Api 方法被命中,它返回预期的对象类型,而不是我的 Xamarin 应用程序继续等待 Flurl Post。
谁能告诉我可能做错了什么?
更新:
我注意到以下确实有效,但并不理想:
动态结果 = await " http://192.168.0.12:60257/api/loginapi/Login ".PostJsonAsync(new { username = "fsdafsd", password = "gdfgdsf" }).ReceiveJson();