web-dev-qa-db-ja.com

DioError [DioErrorType.Response]:HTTPステータスエラー[405] [解決しました]

私はpost要求を使用しています dio 、これは私のFormData paramsです。

    FormData formData = FormData.fromMap({
      'wallet_id': '${dropdownValue.walletId}',
      'member_id': '${_loginModel.memberId}',
      'draw_amount': withdrawalAmountContoller.text,
      'login_password': passwordController.text,
    });

 _

それから私はこのようにparamsを渡しています、

Response response = await dio.post(url, data: params);
 _

しかし、私はリクエストにエラーが発生しています、

エラー[DioError [DioErrorType.Response]:HTTPステータスエラー[405]] =>パス: https://vertoindiapay.com/pay/api/withdraw

E/Flutter(6703):[エラー:Flutter/lib/ui/ui_dart_state.cc(157)]未処理例外:DioError [DioErrorType.Response]:HTTPステータスエラー[405]

E/Flutter(6703):#0 diomixin._request._errorInterceptorWrapper。 (パッケージ:DIO/SRC/DIO.DART:848:13)

これを解決するのを手伝ってください。 私のURLは=> https://vettoindiapay.com/pay/api/withdraw


これは郵便配達中でうまくいっていますが

enter image description here

3
Ravinder Kumar

だから私はこの問題を抱えていました。だから私はあなたが郵便配達中に使っているヘッダーがあなたが使っているヘッダーと一致することを見つけました。たとえば好きです

  headers: {
      'Accept': "application/json",
      'Authorization': 'Bearer $token',
    },
 _

そして私の郵便人はこのように見えます Postman

どうやらDIOは郵便人のように振舞います。

プレーン用語でよく郵便配達員がするのと同じように、コンテンツタイプを単に推測するでしょう。

0
Denzel

PARAMSをJSONエンコードされたときに渡してみてください。

Response response = await dio.post(url, data: json.encode(params));

お役に立てれば!

0
Ray Li

コンテンツタイプを渡すようにしてください

final response = await Dio().post(Url,
        options: Options(contentType: 'multipart/form-data'), data: formData);
 _
0
AS Production