在我的应用程序中,我想要 POST 一些数据,这些数据会让用户和 POST 到服务器。对于服务器请求,我使用 localhost
对于 POST 此数据,我应该使用 Retrofit2
格式进行发布,例如:
json
在发布数据后,我应该检查此结果,以便提交数据有Ok ro Not。
{
"email": "example@example.com",
"username": "example",
"password": "123",
}
我使用{
"status": 200,
"Message": "",
"data": true
}
向用户提供电子邮件,用户名和密码,但如何 {<1}} 格式 POST 此数据到服务器?
请帮助我,我是业余爱好者,我真的需要这个帮助
答案 0 :(得分:2)
首先,为您的请求创建一个类,例如LoginRequest.java
public class LoginRequest {
private String email;
private String username;
private String password;
//getters and setters
}
其次,为您的响应创建一个类,LoginResponse.java
public class LoginResponse {
private Integer status;
private String Message;
private Boolean data;
//getters and setters
}
最后,在您的界面中添加此方法:
public interface MiApiInterface {
@POST("yourResourceName") Call<LoginResponse> login(@Body LoginRequest request);
}
我希望它可以帮助你,只要问你是否有更多问题。
你是否意识到登录方法的返回是一个Call,它是一个异步调用,你可以在你的活动中使用它:
首先,创建一个改造实例
Retrofit retrofit = ....
其次,像这样创建你的接口实例:
MiApiInterface apiInterface = retrofit.create(MiApiInterface.class);
最后,您可以访问登录方法:
LoginRequest request = new LoginRequest();
request.set();
....
Call<LoginResponse> responseCall = apiInterface.login(request);
responseCall.enqueue(new Callback<LoginResponse>() {
public void onResponse(...){
LoginResponse loginResponse = response.body();
}
public void onFailure(...){
}
}
要自动将对象转换为Json,您应该在改装构建器上添加Converter Factory:
Gson gson = new GsonBuilder().create();
Retrofit.Builder()
.baseUrl(baseUrl)
.addConverterFactory(GsonConverterFactory.create(gson))
...
不要忘记在你的gradle上导入Gson库。
答案 1 :(得分:0)
以下是有关Retrofit 2的教程:http://www.vogella.com/tutorials/Retrofit/article.html
或者,您可以使用Volley,它是专门为在Android上发出http请求而设计的库。 https://developer.android.com/training/volley/index.html