与 API 交互时,标题键变为小写 - React Native

Posted

技术标签:

【中文标题】与 API 交互时,标题键变为小写 - React Native【英文标题】:Header keys become lowercase when interacting with API - React native 【发布时间】:2018-02-22 08:31:03 【问题描述】:

与 API 交互时,自定义 Header 键始终变为小写。我使用FetchAxiosXMLHttpRequestFrisbeejavascript 网络库),但密钥始终小写

我的 sn-p 代码是这样的(使用fetch() 方法),我推送的关键是:'Token-Api' 但服务器收到:'token-api ',所以它显示错误 401。它与 Postman 一起工作:

 const request = 'https://abcxyz';
 fetch(request, 
   method: 'GET',
   headers: 
     'Content-Type': 'application/json',
     'Token-Api':'...abcxyz....'
   
 ).then((response) => 
            log(abcxyz)
        )...

我需要做什么?

【问题讨论】:

【参考方案1】:

你可以阅读这篇文章:Are HTTP headers case-sensitive?

根据 RFC 2616,HTTP 标头应该不区分大小写。所以这不是你上面提到的库的错误。您应该修复服务器以同样方式处理Token-Apitoken-api

【讨论】:

它可能不被认为是一个错误,但标题不区分大小写的事实并不意味着任何人都可以随意更改大小写(至少对我而言)。我想知道是否是操纵案例或浏览器的库。【参考方案2】:

你实际上可以用另一个标题很容易地解决这个问题:

sensitive: true

【讨论】:

以上是关于与 API 交互时,标题键变为小写 - React Native的主要内容,如果未能解决你的问题,请参考以下文章

部署反应前端时如何注入 API 服务器 URL?

当 React 组件中的音频元素 src 属性发生更改并且在 linux 上重新加载窗口时,Electron 变为空白

React + Redux 和一个 rest api?

Android ACTION_SCREEN_OFF 意图含义

如何在 React Native 中为 API 请求创建进度条?

create-react-app 构建过程耗时太长