Xamarin Refit - Post 请求只能在 $_REQUEST 中访问,不能在 $_POST 中访问
Xamarin Refit - Post request are only accessible in $_REQUEST, not in $_POST
我在 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);
};
我是不是做错了什么?
感谢您的帮助,
所以,我找到了答案。我必须将 [Body] 属性添加到请求中,并发送一个对象:
[Post("/logUser.php")]
Task<UserResponse> LogUser([Body(BodySerializationMethod.UrlEncoded)] LogRequest request);
这样就可以在服务器端的$_POST中获取参数了
我在 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);
};
我是不是做错了什么?
感谢您的帮助,
所以,我找到了答案。我必须将 [Body] 属性添加到请求中,并发送一个对象:
[Post("/logUser.php")]
Task<UserResponse> LogUser([Body(BodySerializationMethod.UrlEncoded)] LogRequest request);
这样就可以在服务器端的$_POST中获取参数了