您好我需要在Android中的Retrofit 2中实现这个CURL代码:
curl_setopt($ch, CURLOPT_POSTFIELDS, "username=myname&password=mypass");
我像这样使用了Retrofit:
Call<ResponseBody> login(@Query("username") String username, @Query("password") String password);
但目标API只接受帖子数据为"username=myname&password=mypass"
之类的字符串,而不是不同的参数。
如何使用Retrofit 2实现上面的CURL代码?
答案 0 :(得分:0)
使用@Field而不是@query并在Call方法的开头添加@FormUrlEncoded
答案 1 :(得分:0)
可能可以帮助遇到同样问题的人。
使用 @QueryName
可以放置查询字符串。
Call<ResponseBody> login(@QueryName String queryString);
可能需要替换一些字符并添加Interceptor
。
参考:
https://github.com/square/retrofit/issues/1199#issuecomment-307176224