REST API 测试 - 邮递员在每次请求后表现为不同的客户端
REST API Testing - Postman behaving as different client after each request
我目前正在使用 Postman 测试我的 REST API。我使用 Ruby-On-Rails
构建它,并使用 devise_token_auth
来管理用户会话。成功登录后,我的 API 正在呈现 client
、access-token
、token-type
(BEARER) 和 Uid
。每个要求用户登录并且必须在 header.
上发送的请求都需要这些元素
假设我正在使用 POST 创建一篇文章。第一个 POST 成功并创建了文章,但是当我尝试创建另一篇文章时,我得到:
{
"errors": [
"Authorized users only."
]
}
我怀疑 Postman 在每次请求后都表现为不同的客户端,或者我的 API 在每次请求后为用户创建一个 access-token
。
我终于解决了这个问题:
根据 devise_token_auth gem documentation,每次客户端查询 API 时,access-token
都会更改。因此,每当我想向 API.
发送请求时,我都必须更新 headers 上的 access-token
要防止 access-token
在每次请求后被更改,请将以下行添加到 confing/initializers/devise_token_auth.rb
:
config.change_headers_on_each_request = false
我添加了一个同样适用于此问题的 答案。使用测试和预请求脚本,您可以让 Postman 在每次请求后自动保存和更新令牌。
这样您就可以使用 Postman,而无需在 Rails 应用程序中设置 config.change_headers_on_each_request = false
。
我目前正在使用 Postman 测试我的 REST API。我使用 Ruby-On-Rails
构建它,并使用 devise_token_auth
来管理用户会话。成功登录后,我的 API 正在呈现 client
、access-token
、token-type
(BEARER) 和 Uid
。每个要求用户登录并且必须在 header.
假设我正在使用 POST 创建一篇文章。第一个 POST 成功并创建了文章,但是当我尝试创建另一篇文章时,我得到:
{
"errors": [
"Authorized users only."
]
}
我怀疑 Postman 在每次请求后都表现为不同的客户端,或者我的 API 在每次请求后为用户创建一个 access-token
。
我终于解决了这个问题:
根据 devise_token_auth gem documentation,每次客户端查询 API 时,access-token
都会更改。因此,每当我想向 API.
access-token
要防止 access-token
在每次请求后被更改,请将以下行添加到 confing/initializers/devise_token_auth.rb
:
config.change_headers_on_each_request = false
我添加了一个同样适用于此问题的
这样您就可以使用 Postman,而无需在 Rails 应用程序中设置 config.change_headers_on_each_request = false
。