如何正确地将查询参数添加到Dart http get请求?在尝试将’?param1 = one& param2 = two’附加到我的网址时,我无法正确回应我的请求,但它在Postman中正常工作.这是我的代码的要点:
final String url = "https://www.myurl.com/api/v1/test/"; String workingStringInPostman = "https://www.myurl.com/api/v1/test/123/?param1=one¶m2=two"; Map<String,String> qParams = { 'param1': 'one','param2': 'two',}; var res = await http .get(Uri.encodeFull("$url${widget.pk}/"),headers: {HttpHeaders.authorizationHeader: "Token $token",HttpHeaders.contentTypeHeader: "application/json"},);
${widget.pk}只是一个传递的整数值(请参阅workingStringInPostman变量中的值123.
如果需要Uri参数,qParams可以用于connivence.
一个代码示例将受到欢迎.
解决方法
您将要构建一个Uri并将其用于请求.就像是
var queryParameters = { 'param1': 'one',}; var uri = Uri.https('www.myurl.com','/api/v1/test/${widget.pk}',queryParameters); var response = await http.get(uri,headers: { HttpHeaders.authorizationHeader: 'Token $token',HttpHeaders.contentTypeHeader: 'application/json',});
见https://api.dartlang.org/stable/2.0.0/dart-core/Uri/Uri.https.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。