调用Reddit API返回405、偶发500错误的原因及解决方法是什么?
问题原因
返回405 方法不允许错误的核心原因是你在axios请求配置中填写的请求方法不合法:/api/v1/me是Reddit的查询类接口,需要使用GET方法发起请求,你代码中写的method: 'set'不属于标准HTTP请求方法,直接被服务端拦截。
偶尔出现的500错误是非法请求方法触发了服务端解析异常导致的。
修复步骤
- 修改axios请求配置中的method字段,将
set改为get即可:
var config = { // 仅修改此行即可 method: 'get', url: 'https://oauth.reddit.com/api/v1/me', headers: { 'Authorization': 'Bearer ' + token } };
- 额外修复两处潜在报错:
- 组件入参没有声明
route,直接调用route.params.token会抛出未定义错误,将组件第一行修改为:
const LoginScreen = ({navigation, route}) => {
- 当前组件实际承载的是登录后拉取个人资料的功能,和
LoginScreen的命名不符,建议后续调整为符合功能的命名,降低维护成本。
内容的提问来源于stack exchange,提问作者Fosowl
相关产品推荐
相关产品推荐

