У кого-нибудь были проблемы с установкой заголовка Content-Type
с помощью apollo-datasource-rest
?Я пытаюсь кодировать для application/x-www-form-urlencoded
, и мой REST API все еще не видит параметры:
class AuthAPI extends RESTDataSource {
...
willSendRequest( request ) {
request.headers.set( 'X-API-KEY', this.apiKey )
request.headers.set( 'Content-Type', 'application/x-www-form-urlencoded')
console.log( request.headers )
console.log( request.body )
}
async getToken( params ) {
return this
.post( apiEndpoints.auth.token, params )
.catch( err => handleError( err ))
}
}
Вывод:
// console.log( request.headers )
Headers {
[Symbol(map)]: [Object: null prototype] {
'X-API-KEY': [ '1234567890...' ],
'Content-Type': [ 'application/x-www-form-urlencoded' ]
}
}
// console.log( request.body )
{
identifier: 'my.name@domain.com',
format: 'json',
secret: 'P@55w0rd'
}
Похоже, тело запроса (POST)правильно отформатирован и заголовки установлены правильно.Использование тех же учетных данных и заголовков через почтальон возвращает успешный результат, но не по этой причине по какой-то причине:
// response
{ success: 0,
error:
{ status: 400,
message: 'Missing username or password',
code: 117
}
}