URI 中的问号转换为 %3F

Pau*_*ans 6 dart flutter

我正在开发一个项目,并尝试从 API 获取信息。当我编写链接时,它没有检测到字符“?” 它用这个字符替换“%3F”,所以我无法访问 API。

final String _charactersUrl = '/api/character/?page=2';
Run Code Online (Sandbox Code Playgroud)

我从 API 获取状态代码 500:

https://rickandmortyapi.com/api/character/%3Fpage=3
Run Code Online (Sandbox Code Playgroud)

从API获取信息的类

https://rickandmortyapi.com/api/character/%3Fpage=3
Run Code Online (Sandbox Code Playgroud)

如果有人能帮助我,我将非常感激。谢谢!

cre*_*not 12

该类Uri希望您以不同的方式使用Uri.https构造函数

第三个位置参数是queryParameters,您应该使用它而不是将查询参数传递给unencodedPath

final String _baseUrl = 'rickandmortyapi.com';
final String _charactersPath = '/api/character/';
final Map<String, String> _queryParameters = <String, String>{
  'page': '2',
};

Future<List<Character>> getCharacters() async {
    final uri = Uri.https(_baseUrl, _charactersPath, _queryParameters);
    ...
Run Code Online (Sandbox Code Playgroud)