Flutter应用API配置报错:URI无主机/格式异常求助
Flutter API地址配置报错原因及解决方法
子域名部署时的报错(No host specified in URI)
原因
你配置的API地址"app.sitename.co.uk/api/"缺少http://或https://协议头,Dart的URI解析器会把这个字符串判定为本地文件路径,而非网络请求地址,因此无法识别到主机名,抛出该错误。
解决方法
给地址加上协议头即可,修改后的代码:
static const String api_url = "https://app.sitename.co.uk/api/";
根目录子文件夹部署时的报错(FormatException)
原因
从错误信息里的asitename.co.uk/app/api能看出两个问题:一是地址开头多了个多余的a字符,二是同样没有添加协议头。这两个问题共同导致URI解析失败,触发格式错误。
解决方法
- 移除开头的多余字符,确保地址格式正确
- 加上协议头,正确的配置示例:
static const String api_url = "https://sitename.co.uk/app/api/";
通用注意事项
- 无论采用子域名还是根目录子文件夹部署,必须添加
http://或https://协议头,这是Dart正确解析网络URI的必要条件。 - 地址末尾的斜杠可根据后端API的实际要求调整,部分后端接口需要末尾带斜杠才能正常请求。
内容的提问来源于stack exchange,提问作者Chet
相关产品推荐
相关产品推荐

