0
私は、定義済みのJSON構造のデータを消費する簡単なログイン/登録アプリを作成しています。これまでのところ、私は(改造を使って)GETエンドポイントを作成しているRetrofit付きのPOST
public interface RetrofitGet {
@GET("----")
Call<User> getUserDetails();
}
EDIT: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エンドポイントを定義することですアプリケーションからデータを生成し(登録フォームから取得する)、サーバーに投稿してからログインで処理できるようにするためです。
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();
}
}
をだから、私は登録上のユーザーが入力したデータを持っているが、私はそれがサーバーに保存されていると表示されていませんログイン部分でそれを処理することはできません。
何か助けていただければ幸いです。 ありがとうございます!
おかげで!通話をインスタンス化するとき、どのようなパラメータを指定しますか?電話番号 call = service.comment(....) –
user6456773
service.comment(新しいPostComment(......))、あなたのjson –
からのデータです上記の編集をチェックすることがありますか?ありがとう! – user6456773