2017-05-04 6 views
1

私のアプリケーションではPOSTとデータがあり、このデータはユーザーになり、POSTにとなります。サーバーリクエストの場合、私はRetrofit2を使用します。
POSTの場合、このデータは、私がこのようなjson形式でPOST必要があります。私はこの結果に確認のためのデータがOK ROをしていない提出しなければならないAndroidでPOST jsonデータを送信するにはどうすればいいですか?

{ 
    "email": "[email protected]", 
    "username": "example", 
    "password": "123", 
} 

データPOST後。

{ 
    "status": 200, 
    "Message": "", 
    "data": true 
} 

私はJson形式でサーバーにメール、ユーザーからEditTextとユーザー名とパスワードが、どのようにすることができます私はPOSTにこのデータを与えますか?

改修2のチュートリアルで、私は素人だと私は本当にここでは、このヘルプ

+0

これはおそらくあなたが探しているものです:http:// stackoverflow。com/questions/21398598/how-to-post-raw-whole-json-in-a-retrofit-request –

+2

[Retrofitリクエストの本文にJSON全体をPOSTする方法は? ](http://stackoverflow.com/questions/21398598/how-to-post-raw-whole-json-in-the-body-of-a-retrofit-request) –

答えて

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); 
} 

私はそれがあなたを助けることができます希望あなたに質問があるかどうか私に尋ねてください。

は、ログインメソッドの戻り値は、それはあなたがあなたの活動でこのようにそれを使用することができ、非同期呼び出し用で、コールであることに気づいてい:、まず

改造インスタンスを作成

Retrofit retrofit = .... 

第二に、このようなあなたのインターフェイスのインスタンスを作成します。

MiApiInterface apiInterface = retrofit.create(MiApiInterface.class); 

最後に、あなたがloginメソッドにアクセスすることができました0

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にオブジェクトを変換するには:

Gson gson = new GsonBuilder().create(); 

Retrofit.Builder() 
       .baseUrl(baseUrl) 
       .addConverterFactory(GsonConverterFactory.create(gson)) 
... 

はあなたのGradleにGsonライブラリをインポート忘れてはいけません。

+0

ありがとう、私はこのクラスを作成します。どのようにMainActivityでこのデータをPOSTできるのですか?どのように私はこのデータを更新のonResponseに投稿できますか? –

+0

私の友人を助けてください。私は本当にこれが必要です。私はアマチュアです:( –

+0

私は多くのステップを追加しました:D – jmarkstar

0

を必要とする、私を助けてください。またhttp://www.vogella.com/tutorials/Retrofit/article.html

、あなたがバレーボールを使用することができ、それはspecificaly HTTPを作るために設計されたライブラリでありますAndroidでのリクエストhttps://developer.android.com/training/volley/index.html

+0

私は改造を使用したい。手伝って頂けますか? –

+0

文書は非常に一般的です、あなたは私に上記のコードを私に送ることができますか?私の友人、私は本当にこれが必要ですしてください。 please –

関連する問題