我在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);
};
我做错了吗?
感谢您的帮助,
答案 0 :(得分:0)
所以,我找到了答案。我必须将[Body]属性添加到请求中,并发送一个对象:
[Post("/logUser.php")]
Task<UserResponse> LogUser([Body(BodySerializationMethod.UrlEncoded)] LogRequest request);
这样,参数可以在服务器端的$ _POST中访问