如何解决如何在 Retrofit 中将参数传递给 POST 请求 - Android
在我基于 Java 的 Android 应用程序中,我必须调用 POST API 以保存用户数据。它接受以下输入参数: RequestBody。然后给出以下输出:ResponseBody。如何使用 Retrofit 执行此操作? 谢谢
解决方法
Retrofit 的重点是发送对象而不是文本正文。 来自官方文档
@POST("users/new")
Call<User> createUser(@Body User user);
然后使用 Retrofit 接口实例化您的服务,并使用接口函数执行调用
,你可以创建一个这样的类:
class Parameters{
User user;
class User {
String username;
String fullname;
//more fields,getters and setters..
}
// getter and setter for user
}
然后通过传递一个对象来使用改造 POST :
@Headers("Content-Type:plain/text; charset=utf-8")
@POST("/postuser")
Call<Response> postData(@Body Parameters params);
Response 对象有一个 body() 成员,其中包含您预期的响应,而女巫反过来也可以包装在一个对象中:
class MyResponse{
String status;
String message;
}
所以你可以改变你的电话如下:
@Headers("Content-Type:plain/text; charset=utf-8")
@POST("/postuser")
Call<MyResponse> postData(@Body Parameters params);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。