gpt4 book ai didi

php - postman 返回 404,而网站返回 200

转载 作者:行者123 更新时间:2023-12-05 04:13:03 24 4
gpt4 key购买 nike

我有一个 Laravel 服务器在 http://localhost:8000/api/v1_0/login 提供一个 api。

从网页(登录表单)点击此 API 在 200 OK 状态下工作正常,但是当我尝试使用 Postman 点击相同的 API 时,它返回 404。我确定我的标题和 URL 拼写是正确的。这是一个错误吗?还有什么原因?

最佳答案

以防万一有人仍然需要这个问题的答案。我检查了@ZI3n 发布的答案,但该解决方案对我不起作用。

Postman 正在接收一个字符串 text\html,这是默认的 Content-Type,所以我怀疑我用来处理 JSON 的代码不知何故形成了一个 Postman 无法识别为 JSON 的字符串.但是当收到时,如果将正文类型更改为 JSON,我可以将其视为 JSON。

因此,请求被接收为 JSON 格式的文本,但未被识别为 JSON 内容,并且由于我期待的是 JSON,因此状态代码被忽略并替换为 404 Not Found。不确定这是服务器还是 Postman 造成的。

所以我直接在浏览器上访问了 URL,很明显显示了 JSON 但仍然读取为 text/html 而不是 application/json

下一步是再次重构代码,这次我通过将字符串分配给变量$json来重新处理JSON字符串,如下所示:

//assigning previous json string to $json
$json = $originalEchoedJsonString;

//reprocessing the string a converting it back to object
$newJson = json_decode($json);

//preparing to be send

//if PHP version 5.4+
http_response_code(200);

// Any PHP version specially 5.3 and under
header('HTTP/1.1 200 Ok', true, 200);

header('Content-type: application/json; charset=UTF-8;');

//echoing JSON back with json_encode();
echo json_encode($newJson);

完成此操作后,我再次使用 Postman 发送请求,瞧,我得到了 200 Ok 状态并且字符串正确显示为 JSON 文件。也被浏览器 JSON 格式化程序识别为 JSON。

关于php - postman 返回 404,而网站返回 200,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38705129/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com