私は多くのネットワークコールを持つアプリケーションを開発しています。私はそれにretrofitを使用しています。リクエストごとにモデルクラスを作成しました。不要なモデルクラスを作成しないようにすることができます。レトロフィットでモデルを作成するのを避ける方法
2
A
答えて
0
はい、不要なモデルクラスは避けることができます。
例:
モデルクラスが5つあり、Model_class1
がメインモデルクラスであり、他の4つのサブモデルクラスを宣言する必要があるとします。上記のコードで
class Model_class1
{
@SerializedName("Model_class2")
@Expose
private Model_class2 model_class2;
@SerializedName("Model_class3")
@Expose
private Model_class3 model_class3;
@SerializedName("Model_class4")
@Expose
private Model_class4 model_class4;
@SerializedName("Model_class5")
@Expose
private Model_class5 model_class5;
}
したい場合にのみModel_class2
とModel_class3
はあなたがModel_class1
残りの2つにのみモデル名を宣言しなければならないことを意味。宣言する必要はなく、これら2つのモデルクラスも作成する必要はありません。
0
はい、私は一度もリクエストを送信することはできますが、受信するためには一度も試していません。
使用JSONObjectまたはJSONArrayと@Body
try {
JSONObject obj = new JSONObject();
obj.put("username", "username");
obj.put("password", "password");
RetrofitInterface.login(obj);
} catch (Exception e) {
e.printStackTrace();
}
として改造するためにそれらを渡すここにあなたの改造・インターフェース・クラスを使用すると、応答としてJsonElement
を使用することができます受信するための
public interface RetrofitInterface{
.
.
@POST(URL)
Call login(@Body JSONObject object);
.
.
}
1
です。
インタフェース
@POST("api/")
Call<JsonElement> request(@Body RequestBody body);
要求::あなたはGsonモデルクラスを意味
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), inputJsonString);
call.enqueue(new Callback<JsonElement>() {
@Override
public void onResponse(Call<JsonElement> call, Response<JsonElement> response) {
if(response.isSuccessful()){
JsonElement jsonElement = response.body();
if(jsonElement.isJsonObject()){
//use any json deserializer to convert to your class.
}
else{
System.out.println(response.message());
}
}
@Override
public void onFailure(Call<JsonElement> call, Throwable t) {
System.out.println("Failed");
}
});
関連する問題
- 1. スレッドを避けるために作成する方法IllegalThreadStateException
- 2. DataTreeの孤児のFromJSONインスタンスの作成を避ける方法
- 3. レールでモデルを作成する方法
- 4. 反応するアンドロイドとレトロフィットで複数のリクエストを作成する方法
- 5. パッチインストールのインストールディレクトリの作成を避ける
- 6. NSCachedImageRepを避ける方法
- 7. csvを避ける方法インデックスを避ける?
- 8. ngスイッチを避け、タイプのコンポーネントを生成する方法
- 9. ラプソディコード生成で暗黙のインクルードステートメントを避ける方法
- 10. ドッカー作成:データコンテナの再作成を避ける
- 11. arangoDBで重複を避ける方法
- 12. WinformsでLineBreaksを避ける方法TextBox
- 13. RCWクリーンアップでレースを避ける方法
- 14. Javaで "duplicate class"を避ける方法
- 15. Linux/X11上でpygameで裂けるのを避ける方法
- 16. Lucene 6.0の重複したドキュメントのインデックス作成を避ける方法
- 17. レールでビューに対応するモデルを作成する方法
- 18. リンクテーブルのビューを作成し、SQLでNULL値を避ける
- 19. androidのcreateBitmap()クラッシュを避ける方法
- 20. 入力のラベルを避ける方法
- 21. メインテーブルのスキャンを避ける方法
- 22. ウェブURLのコードインジェクションを避ける方法
- 23. XMLスキーマのcomplexTypesを避ける方法
- 24. テラデータの結合を避ける方法
- 25. ローマの例外を避ける方法
- 26. リンクのタブストップを避ける方法は?
- 27. 多くのサーブレットを避ける方法
- 28. 避ける方法.IllegalStateException
- 29. 避ける方法#ifdef __x86_64__
- 30. 避ける方法Uncaught ReferenceError
を、私は以下のdesctibeよう要求するために、あなたは、文字列でJSONを作成し、それを送ることができますか?はい、方法があります。 Gsonを使用せず、JSON文字列を自分で解析してください。 –
サンプルコードを追加できますか? –
、またはハッシュマップまたはハッシュマップの配列を常に解析する –