我正在创建一个简单的登录/注册应用程序,使用预定义的JSON结构数据。到目前为止,我已经创建了GET端点(使用改造)
public interface RetrofitGet {
@GET("----")
Call<User> getUserDetails();
}
编辑:POST endPoint:
@POST("----")
Call<User> postUserDetails();
然后我有一个方法,输入类似JSON的数据并将数据设置为2个字段的文本:
private void getUser() {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(url)
.addConverterFactory(GsonConverterFactory.create())
.build();
RetrofitGet service = retrofit.create(RetrofitGet.class);
Call<User> call = service.getUserDetails();
call.enqueue(new Callback<User>() {
@Override
public void onResponse(Response<User> response, Retrofit retrofit) {
try {
input_email.setText(response.body().getEmail());
input_pass.setText(response.body().getPassword());
} catch (Exception e) {
Log.d("onResponse", "There is an error");
e.printStackTrace();
}
}
@Override
public void onFailure(Throwable t) {
Log.d("onFailure", t.toString());
}
});
我现在要做的是定义POST端点,以便能够从应用程序生成数据(从注册表中获取),发布在服务器上,然后在登录。
编辑: 该方法到目前为止消耗了POST端点:
private void postUser() {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(url)
.addConverterFactory(GsonConverterFactory.create())
.build();
RetrofitPost service = retrofit.create(RetrofitPost.class);
Call<User> call = service.postUserDetails();
call.enqueue(new Callback<User>() {
@Override
public void onResponse(Response<User> response, Retrofit retrofit) {
try {
emailRegister.getText().toString();
passRegister.getText().toString();
} catch (Exception e) {
Log.d("onResponse", "There is an error");
e.printStackTrace();
}
}
所以,我有用户在Register上输入的数据,但是我没有看到它存储在服务器中,也无法在Login部分处理它。
任何帮助将不胜感激, 谢谢!
答案 0 :(得分:0)
@POST("----")
Call<CommonBean> comment(@Body PostComment comment);
和PostComment:
public class PostComment {
private int pcOrdersId;
private int pcStar;
private String pcComment;
public PostComment(int pcOrdersId, int pcStar, String pcComment) {
this.pcOrdersId = pcOrdersId;
this.pcStar = pcStar;
this.pcComment = pcComment;
}
}
其他与'GET'不同的人