2016-06-16 5 views
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(); 
      } 

     } 

をだから、私は登録上のユーザーが入力したデータを持っているが、私はそれがサーバーに保存されていると表示されていませんログイン部分でそれを処理することはできません。

何か助けていただければ幸いです。 ありがとうございます!

答えて

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'

+0

おかげで!通話をインスタンス化するとき、どのようなパラメータを指定しますか?電話番号 call = service.comment(....) – user6456773

+0

service.comment(新しいPostComment(......))、あなたのjson –

+0

からのデータです上記の編集をチェックすることがありますか?ありがとう! – user6456773

関連する問題