0

我正在从 post 类型的颤振中调用 api,但它给了我错误 404,可以找出问题所在

class OtpVerifyApi {
  Future otpVerifyAPI(OtpVerifyRequest otpVerifyRequest, String token) async {
    return NetworkCommon.getClient(Constants.apiEndPoint)
        .post("otp",
            data: otpVerifyRequest.toMap(),
            options: new Options(headers: {"Authorization": token}))
        .then((response) {
      return response.data;
    }).catchError((onError) {
      print("onError " + onError.toString());
    });
  }
}

class OtpVerifyRequest {
  String otp;

  toMap() {
    return {"otp": this.otp};
  }
}



verfiyUser(OtpVerifyRequest otpVerifyRequest, String token) async {
    _memoizer.runOnce(() =>
        OtpVerifyApi().otpVerifyAPI(otpVerifyRequest, token).then((reponse) {
          OtpVerifyResponse otpVerifyResponse =
              OtpVerifyResponse.fromJson(reponse);
          print("otpVerifyResponse $otpVerifyResponse");

        }).catchError((error) {
          hideLoader();
          print("otp error: $error");
        }));
  }

这是我的三个源文件,第一个是我的客户,第二个是我的请求正文,第三个是我得到它的响应的地方。帮我解决这个问题。提前致谢。

Future<OtpVerifyResponse> verifyUser(
      OtpVerifyRequest otpVerifyRequest, String token) async {
    Map<String, String>  requestHeaders = {
        "Accept": "application/json",
        "Authorization": "Bearer $token",
      };
    return http
        .post(Constants.apiEndPoint + "registration/_verify",
            body: otpVerifyRequest.toMap(), headers: requestHeaders)
        .then((http.Response response) {
      hideLoader();
      final int statusCode = response.statusCode;
      print("statusCode" + statusCode.toString());
      print("response ${json.decode(response.body)}");
      if (statusCode < 200 || statusCode > 400 || json == null) {
        hideLoader();
        throw new Exception("Error while fetching data");
      }
      return OtpVerifyResponse.fromJson(json.decode(response.body));
    });
  }

我也尝试了这个http方法,但它也不起作用不确定我做错了什么

4

1 回答 1

0
class OtpVerifyApi {
  Future otpVerifyAPI(OtpVerifyRequest otpVerifyRequest, String token) async {
    return NetworkCommon.getClient(Constants.apiEndPoint)
        .post("otp",
            data: otpVerifyRequest.toMap(),
            options: new Options(headers: {"Authorization": "Bearer $token"}))
        .then((response) {
      return response.data;
    }).catchError((onError) {
      print("onError " + onError.toString());
    });
  }
}

我以错误的方式传递了授权令牌..花了一段时间才弄清楚:)

于 2020-03-31T13:55:52.983 回答