Retrofit 2.0開發中快速構建(@Body RequestBody requestBody)
Retrofit 網路請求框架現在比較流行 ,在開始網路請求時 經常需要構造(@Body RequestBody requestBody)
相信很多開發小夥伴會利用生成Bean 的方式去構造RequestBoday
但是偶爾會遇到一種情況,那就是一個RequestBoday 裡面的資料不多,但是巢狀的很深,如果這個時候去建立大量的物件,最後封裝成一個RequestBoday 這樣程式碼太過冗餘
所以可以利用一種新的方式:
JSONObject root = new JSONObject();
JSONObject requestData = new JSONObject();
final JSONObject requestAttributes = new JSONObject();
try {
requestAttributes.put("reason", reason);
requestData.put("type", "deleteAccount");
requestData.put("attributes", requestAttributes);
root.put("data", requestData);
} catch (JSONException e) {
e.printStackTrace();
}
LogUtils.d("DeleteAccountEndActivity reason =" + reason);
LogUtils.d("DeleteAccountEndActivity root =" + root);
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), root.toString());
LogUtils.d("DeleteAccountEndActivity requestBody =" + requestBody);
利用該requestBody 就可以了
但是有一點需要注意:JSONObject 中的Value 不能為空
GitHub: https://github.com/HuaDanJson