Xamarin改装 - 发布请求只能在$ _REQUEST中访问,而不能在$ _POST中访问

时间:2018-04-16 18:13:24

标签: xamarin refit

我在PCL中使用Xamarin Refit有一种奇怪的行为。 当我从我的应用程序发送Post请求时,服务器php脚本只能在$ _REQUEST中看到结果,而不是在$ _POST中。 (这是一个简单的PHP脚本,我不使用任何框架)

以下是请求:

[Post("/logUser.php")]
Task<UserResponse> LogUser(string email, string password);

以下是我如何申报界面:

Func<HttpMessageHandler, ITFBApi> createClient = messageHandler =>
{
    var client = new HttpClient(messageHandler)
    {
        BaseAddress = new Uri(URLPaths.Api)
    };
    return RestService.For<ITFBApi>(client);
};

我做错了吗?

感谢您的帮助,

1 个答案:

答案 0 :(得分:0)

所以,我找到了答案。我必须将[Body]属性添加到请求中,并发送一个对象:

[Post("/logUser.php")]
Task<UserResponse> LogUser([Body(BodySerializationMethod.UrlEncoded)] LogRequest request);

这样,参数可以在服务器端的$ _​​POST中访问