Я звоню 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");
}));
}
Это мои три исходных файла, 1-й - мой клиент, 2-й - мой запрос, 3-й - где я получаю ответ. Помоги мне понять это. Заранее спасибо.
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, но он также не работает, не уверен, что я делаю неправильно