我正在创建一个简单的登录/注册应用程序,使用预定义的JSON结构数据。到目前为止,我已经创建了GET端点(使用改进)
public interface RetrofitGet {
@GET("----")
Call<User> getUserDetails();}
编辑:帖子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端点,以便能够从应用程序生成数据(从注册表中获取),发布到服务器上,然后在登录中处理。
EDIT:到目前为止使用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部分处理它。
如有任何帮助,将不胜感激,谢谢!
发布于 2016-06-17 00:41:00
@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”
https://stackoverflow.com/questions/37864398
复制相似问题