java - Android如何使用retrofit传递模态类和参数数组

标签 java android retrofit retrofit2

//这里是模态类的数据

busi_data[otp_verified]: 
busi_data[pan]: 
busi_data[gstin]: 
busi_data[doc]: pan
busi_data[business_name]: 
busi_data[entity_type]: 
busi_data[mobile]: 
busi_data[customer_email]: 
busi_data[mode]: 
busi_data[ses_email]: 
busi_data[pluskey]: 
busi_data[otp_auth]: 
busi_data[otp]: 
operation: 

我正在使用retrofit向服务器发送数据。我想传递一个模态类作为参数。请帮忙解决。

最佳答案

您好,您可以使用下面的代码在 api 中传递模型类

@POST(Constants.ApiMethods.GET_LOGIN)
Flowable<GenericModel<LoginResponse>> doLogin(@Body RequestBody requestBody);


    Flowable<GenericModel<LoginResponse>> getusers = mRestApis.doLogin(Utility.getRequest(HobbsRepairApp.getGsonWithExpose().toJson(LoginRequest)));
    getusers.subscribeOn(Schedulers.newThread())
            .observeOn(AndroidSchedulers.mainThread())
            .onErrorReturn(throwable -> {
                String message = ((HttpException) throwable).response().errorBody().string();
                GenericModel<LoginResponse> userBaseResponse = HobbsRepairApp.getGsonWithExpose().fromJson(message, GenericModel.class);
                return userBaseResponse;                })
            .subscribe(responsData -> {
                if (responsData != null) {
                    GenericModel<LoginResponse> responseGenericModel = responsData;
                    if ((responseGenericModel.getStatus() == 200) && (responseGenericModel.getResponse() != null)) {
                        LoginResponse loginResponse = responseGenericModel.getResponseModel(LoginResponse.class);
                        loginResponse.setMessage(responseGenericModel.getMessage());
                        mEventBus.post(loginResponse);
                    } else {
                        mEventBus.post(new APIError(105, responseGenericModel.getMessage()));
                    }
                }
            });


public static RequestBody getRequest(String reqString) {
    MediaType mediaType = MediaType.parse("application/json");
    return RequestBody.create(mediaType, reqString);
}

 public static Gson getGsonWithExpose() {
    if (mGson != null) {
        mGson = null;
    }
    mGson = new GsonBuilder().setLenient().excludeFieldsWithoutExposeAnnotation().create();
    return mGson;
}

关于java - Android如何使用retrofit传递模态类和参数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57144333/

相关文章:

java - log4j2 中的空 Threadcontext 大括号场景处理

java - 简单 ViewPager - 单一布局

android - 仅当上一个通知已被取消时才显示通知

java - Spinner 无法与 Firestore 的 document.getId 配合良好

java - 改造:使用 JSON 数组发送 POST 请求

安卓改造 : content type as application/x-www-form-urlencoded

java - 导入org.apache无法解析:Eclipse

java - 将类作为参数传递给java中的方法

java - Activity 关闭后显示 AlertDialog

android - 无法获取提供者 androidx.lifecycle.ProcessLifecycleOwnerInitializer