PUT请求返回404但GET请求返回200的问题排查求助
PUT请求返回404但GET请求返回200的问题排查求助
嘿,各位同行,我最近碰到个棘手的问题,想请大家帮忙捋捋:我写了个saveToDatabase()方法,用来把问题列表存储到GitHub上的db.json文件,结果用PUT方法调用时一直返回404状态码,但换成GET方法调用同一个方法(只改了请求方式),却能正常返回200,数据也能顺利读出来。
我实在搞不懂,同一个文件路径,读操作没问题,写操作就找不到资源,有没有人遇到过类似情况?或者能给我一些排查方向?
以下是我目前的代码(粘贴时内容截断了,只能放出已有部分):
import 'dart:convert'; import 'package:google_generative_ai/google_generative_ai.dart'; import 'package:test_dome/model/question.dart'; // 代码后续内容缺失
我自己也试着排查了几个点,但都没解决:
- 核对过请求URL,看起来和GET请求的完全一致,但会不会GitHub的API对PUT请求的路径有特殊要求?比如大小写、斜杠这类细节?
- 怀疑过权限问题,我用的token应该是带仓库读写权限的,但会不会是PUT请求的Headers里没正确带上认证信息?毕竟GET请求可能对认证的要求更宽松?
- 会不会是db.json文件本身的状态有问题?比如文件存在但有特殊设置,导致无法通过PUT更新?
麻烦大家给我支支招,谢谢啦!
备注:内容来源于stack exchange,提问作者Sameer Ahmed




