快速 api 和颤振

时间:2021-04-09 12:35:26

标签: api flutter dart rapidapi

尝试在星座应用程序中使用此 api,虽然食谱不适用于 flutter,但我正在尝试发起请求。 任何将这些数据从快速 api 获取到 flutter 的帮助将不胜感激,因为目前没有可用的文档。

import 'dart:convert';
import 'package:http/http.dart' as http;


class APIService {
  // API key
  // Base API url
  static const String _baseUrl = "https://sameer-kumar-aztro-v1.p.rapidapi.com/?sign=aquarius&day=today";
  // Base headers for Response url
  static const Map<String, String> _headers = {
  "x-rapidapi-key": "*****************",
    "x-rapidapi-host": "sameer-kumar-aztro-v1.p.rapidapi.com",
    
  };

  // Base API request to get response
  Future<dynamic> get() async {
    Uri uri = Uri.https(_baseUrl,"");
    final response = await http.get(uri, headers: _headers);
    if (response.statusCode == 200) {
      // If server returns an OK response, parse the JSON.
      print("success");
      return json.decode(response.body);
    } else {
      print("not success");
      // If that response was not OK, throw an error.
      throw Exception('Failed to load json data');
    }
  }
}

我也发布了我的错误,以防万一:

    E/flutter (12728): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: FormatException: Invalid radix-10 number (at character 1)
E/flutter (12728): //sameer-kumar-aztro-v1.p.rapidapi.com/?sign=aquarius&day=today
E/flutter (12728): ^
E/flutter (12728): 
E/flutter (12728): #0      int._throwFormatException (dart:core-patch/integers_patch.dart:131:5)
E/flutter (12728): #1      int._parseRadix (dart:core-patch/integers_patch.dart:157:16)
E/flutter (12728): #2      int._parse (dart:core-patch/integers_patch.dart:100:12)
E/flutter (12728): #3      int.parse (dart:core-patch/integers_patch.dart:63:12)
E/flutter (12728): #4      _Uri._makeHttpUri (dart:core/uri.dart:1591:49)
E/flutter (12728): #5      new _Uri.https (dart:core/uri.dart:1462:12)
E/flutter (12728): #6      APIService.get (package:astrology_upload/api.dart:20:19)
E/flutter (12728): #7      _UploadState.initState (package:astrology_upload/Uploadpage.dart:22:7)
E/flutter (12728): #8      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4632:57)
E/flutter (12728): #9      ComponentElement.mount (package:flutter/src/widgets/framework.dart:4469:5)
E/flutter (12728): #10     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3541:14)
E/flutter (12728): #11     Element.updateChild (package:flutter/src/widgets/framework.dart:3306:18)
E/flutter (12728): #12     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5974:14)
E/flutter (12728): #13     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3541:14)
E/flutter (12728): #14     Element.updateChild (package:flutter/src/widgets/framework.dart:3306:18)
E/flutter (12728): #15     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4520:16)
E/flutter (12728): #16     Element.rebuild (package:flutter/src/widgets/framework.dart:4189:5)
E/flutter (12728): #17     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4474:5)
E/flutter (12728): #18     ComponentElement.mount (package:flutter/src/widgets/framework.dart:4469:5)
E/flutter (12728): #19     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3541:14)
E/flutter (12728): #20     Element.updateChild (package:flutter/src/widgets/framework.dart:3306:18)
E/flutter (12728): #21     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5974:14)
E/flutter (12728): #22     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3541:14)
E/flutter (12728): #23     Element.updateChild (package:flutter/src/widgets/framework.dart:3306:18)
E/flutter (12728): #24     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5974:14)
E/flutter (12728): #25     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3541:14)
E/flutter (12728): #26     Element.updateChild (package:flutter/src/widgets/framework.dart:3306:18)
E/flutter (12728): #27     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4520:16)
E/flutter (12728): #28     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4667:11)
E/flutter (12728): #29     Element.rebuild (package:flutter/src/widgets/framework.dart:4189:5)
E/flutter (12728): #30     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4474:5)
E/flutter (12728): #31     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4658:11)
E/flutter (12728): #32     ComponentElement.mount (package:flutter/src/widgets/framework.dart:4469:5)
E/flutter (12728): #33     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3541:14)
E/flutter (12728): #34     Element.updateChild (package:flutter/src/widgets/framework.dart:3306:18)
E/flutter (12728): #35     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5974:14)
E/flutter (12728): #36     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3541:14)
E/flutter (12728): #37     Element.updateChild (package:flutter/src/widgets/framework.dart:3306:18)
E/flutter (12728): #38     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5974:14)
E/flutter (12728): #39     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3541:14)
E/flutter (12728): #40     Element.updateChild (package:flutter/src/widgets/framework.dart:3306:18)
E/flutter (12728): #41     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4520:16)
E/flutter (12728): #42     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4667:11)
E/flutter (12728): #43     Element.rebuild (package:flutter/src/widgets/framework.dart:4189:5)
E/flutter (12728): #44     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4474:5)
E/flutter (12728): #45     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4658:11)
E/flutter (12728): #46     ComponentElement.mount (package:flutter/src/widgets/framewo

2 个答案:

答案 0 :(得分:1)

代替 get 使用 post 命令..

答案 1 :(得分:0)

试试这个。

Uri uri = Uri.parse(_baseUrl);
final response = await http.get(uri, headers: _headers);