PostMan 正在工作,但 http 在颤动中出现 404 错误
Posted
技术标签:
【中文标题】PostMan 正在工作,但 http 在颤动中出现 404 错误【英文标题】:PostMan is working but http is giving 404 error in flutter 【发布时间】:2021-01-26 00:16:49 【问题描述】:我正在为我的 api 使用以下代码。此 api 在 postman 中工作,但在 http flutter 中显示 404 错误代码。
我的颤振代码:
RaisedButton(
onPressed: ()
apiCall();
,
child: Text("Press"),
)
Future apiCall() async
var body =
jsonEncode("filepath": "patient/reports/1602333458533-Liver.jpg");
try
await http
.post('http://3.6.197.52:3100/downloadFile',
headers: "Accept": "Application/json", body: body)
.then((http.Response response) => print(response.statusCode));
catch (e)
print(e);
它给出了错误代码 404。
以下是邮递员的结果:
Post Man result
【问题讨论】:
【参考方案1】:您设置了错误的标题。 Accept
标头用于确定您期望从服务器获得的结果类型。从您的屏幕截图(和数据)看起来很清楚,您会期待image/jpg
。另一方面,您缺少Content-Type
标头,它定义了您随请求发送的数据类型,在您的情况下为application/json
。所以服务器可能无法正确解析body。
假设 jsonEncode
与 JSON.stringify
类似,您应该执行以下操作
Future apiCall() async
var body =
jsonEncode("filepath": "patient/reports/1602333458533-Liver.jpg");
try
await http
.post('http://3.6.197.52:3100/downloadFile',
headers: "Content-Type": "application/json", body: body)
.then((http.Response response) => print(response.statusCode));
catch (e)
print(e);
【讨论】:
做了相同的 json 编码发送 pdf 文件但仍然无法正常工作 @s.j 404 表示您使用的 url 在服务器上是未知的 传递与在邮递员中传递的相同我的 api 的 post 具有 3 个查询参数和一个 body 参数。 它现在不在本地 @s.j 显然你没有通过相同的。如果你是,你会得到同样的回应。以上是关于PostMan 正在工作,但 http 在颤动中出现 404 错误的主要内容,如果未能解决你的问题,请参考以下文章
获取在 Postman 上工作的请求,但不在 React.js 中?
Postman POST工作但AngularJS帖子投掷404
在 curl -k 中请求工作,但不在 Postman 中禁用 SSL
使用 System.Web.Http.ApiController + Postman 进行身份验证 - 没有遇到断点/不确定这是如何工作的