0

trying to generate api client file using retrofit but getting error on one specific file which says null check operator used on null value and the error log using --verbose for build_runner is


Null check operator used on a null value
package:source_gen/src/type_checker.dart 215:74             TypeChecker.isSuperTypeOf
package:retrofit_generator/src/generator.dart 1675:49       RetrofitGenerator._generateRequestBody
package:retrofit_generator/src/generator.dart 477:5         RetrofitGenerator._generateRequest
package:retrofit_generator/src/generator.dart 429:17        RetrofitGenerator._generateMethod.<fn>
package:code_builder/src/specs/method.g.dart 323:33         _$MethodBuilder.update
package:code_builder/src/specs/method.g.dart 38:29          new _$Method
package:retrofit_generator/src/generator.dart 379:12        RetrofitGenerator._generateMethod
package:retrofit_generator/src/generator.dart 235:21        RetrofitGenerator._parseMethods.<fn>
dart:core                                                   List.addAll
package:built_collection/src/list/list_builder.dart 98:14   ListBuilder.addAll
package:retrofit_generator/src/generator.dart 118:19        RetrofitGenerator._implementClass.<fn>
package:code_builder/src/specs/class.g.dart 345:33          _$ClassBuilder.update
package:code_builder/src/specs/class.g.dart 40:28           new _$Class
package:retrofit_generator/src/generator.dart 104:26        RetrofitGenerator._implementClass
package:retrofit_generator/src/generator.dart 89:12         RetrofitGenerator.generateForAnnotatedElement
package:source_gen/src/generator_for_annotation.dart 61:30  GeneratorForAnnotation.generate
package:source_gen/src/builder.dart 342:33                  _generate
dart:async                                                  Stream.toList.<fn>
package:source_gen/src/builder.dart 107:9                   _Builder._generateForLibrary
package:source_gen/src/builder.dart 99:5                    _Builder.build

tried flutter clean Flutter pub get

have even tried using flutter pub cache clean and run build_runner again but no success. What can be the reason for this error as vscode wont show me any errors and while using build_runner only the this file gets the error and generated file wont be generated and other files are generated.

the code of the file I am trying to generate a file for 
import 'package:dio/dio.dart'; import 'package:eazr/core/constants/api_string.dart'; import 'package:eazr/features/cover_credit/data/model/cover_credit_mark_disburse_res_model.dart'; import 'package:eazr/features/cover_credit/data/model/cover_credit_update_general_info_model.dart'; import 'package:eazr/features/cover_credit/data/model/get_cover_credit_res_model.dart'; import 'package:eazr/features/cover_credit/data/model/get_nach_mandate_res_model.dart'; import 'package:eazr/features/cover_credit/data/model/get_nach_update_res_model.dart'; import 'package:eazr/features/cover_credit/data/model/request/cover_credit_aadhar_verify_otp_req_model.dart'; import 'package:eazr/features/cover_credit/data/model/request/cover_credit_pre_approved_emi_req_model.dart'; import 'package:eazr/features/cover_credit/data/model/request/insurance_eligibility_check_req_model.dart'; import 'package:eazr/features/cover_credit/data/model/response/cover_creddit_data_res_model.dart'; import 'package:eazr/features/cover_credit/data/model/response/cover_credit_agreement_res_model.dart'; import 'package:eazr/features/cover_credit/data/model/response/cover_credit_kyc_res_model.dart'; import 'package:eazr/features/cover_credit/data/model/response/cover_credit_pre_approved_emi_res_model.dart'; import 'package:eazr/features/cover_credit/data/model/response/insurance_eligibility_check_res_model.dart'; import 'package:eazr/features/cover_credit/data/model/response/insurance_provider_res_model.dart'; import 'package:retrofit/retrofit.dart';

part 'cover_credit_client.g.dart';

@RestApi() abstract class CoverCreditClient {   factory CoverCreditClient(Dio dio) = _CoverCreditClient;

  @GET(ApiString.providerList)   Future<InsuranceProviderResModel> getProviderList(
    @Header('authorization') String authToken,   );

  @POST(ApiString.postInsuranceEligibility)   Future<InsuranceEligibilityCheckResponseModel> postInsuranceEligibility(
    @Header('authorization') String authToken,
    @Body() InsuranceEligibilityCheckRequestModel body,   );

  @GET(ApiString.getInsuranceGeneralInfo)   Future<Covercreditdatarespose> getInsuranceGeneralInfo(
    @Header('authorization') String authToken,
    @Path("insuranceInfoId") int id,   );

  @POST(ApiString.coverLoanKyc)   Future<CoverCreditKycResponseModel> verifyAadhaarOtp(
    @Path("id") int applicationId,
    @Header('authorization') String authToken,
    @Body() CoverCreditAadharVerifyOtpReqModel body,   );

  @POST(ApiString.coverLoanKyc)   Future<CoverCreditKycResponseModel> updateAadhaar(
    @Path("id") int applicationId,
    @Header('authorization') String authToken,
    @Body() Map<String, dynamic> body,   );

  @GET(ApiString.coverCreditResendOtp)   Future<CoverCreditKycResponseModel> resendOtp(
    @Header('authorization') String authToken,
    @Path("id") int applicationId,   );

  @POST(ApiString.coverCreditGeneralInfo)   Future<CoverCreditUpdateGeneralInfoModel> updateLoanGeneralInfo(
    @Path("id") int applicationId,
    @Header('authorization') String authToken,
    @Body() Map<String, dynamic> body,   );

  @GET(ApiString.getDesginationList)   Future<List<String>> getDesignationList();

  @GET(ApiString.getIndustryList)   Future<List<String>> getIndustryList();

  @GET(ApiString.coverCashAgreement)   Future<CoverCreditAgreementResModel> getInstacashAgreement(
    @Header('authorization') String authToken,   );

  @POST(ApiString.postCoverCreditPreApprovedLoan)   Future<CoverCreditPreApprovedEmiResModel> postPreApprovedLoan(
    @Header('authorization') String authToken,
    @Path("insuranceInfoId") int loanApplicationId,
    @Body() CoverCreditPreApprovedReqModel body,   );

  @GET(ApiString.getCoverCreditNachDetails)   Future<CoverCreditGetNachMandadeDetailsResponseModel> getNachDetails(
    @Header('authorization') String authToken,
    @Path("insuranceInfoId") int loanApplicationId,   );

  @GET(ApiString.getCoverCreditNachUpdate)   Future<CoverCreditGetNachUpateResponseModel> getNachUpdate(
    @Header('authorization') String authToken,
    @Path("insuranceInfoId") int loanApplicationId,   );

  @GET(ApiString.getCoverCreditInfo)   Future<GetCoverCreditInfoResModel> getCoverCreditInfo(
    @Header('authorization') String authToken,   );

  @GET(ApiString.getCoverCreditMarkDisbure)   Future<CoverCreditGetMarkDisburseResponseModel> getMarkDisburse(
    @Header('authorization') String authToken,
    @Path("insuranceInfoId") int insuranceInfoId,   ); }

have mentioned the code above.

1
  • 1
    Share you entier code please Commented Apr 21 at 14:13

1 Answer 1

1

It means that your are using ! on a null value

example:

bool? b;
try {
  print(b!);
} catch (e) {
  print(e);// this will print the error you got
}

the use of ! on a nullable value, means that you are sure that the value is not null

Sign up to request clarification or add additional context in comments.

1 Comment

tried looking for the same but the file i am tried to generate file is a api client file where i am using retrofit and build_runner, and the error was thrown by build_runner for one file only and other file are generated as they should

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.