Pesquisei problemas semelhantes no GitHub e não encontrei nenhum.
Quais passos para chegar ao problema?
Tentei renovar o token JWT pelo Swagger em /docs, usando o endpoint documentado como:
PUT /instance/refreshToken/
Enviei o body:
{
"oldToken": ""
}
Descreva o que você esperava que acontecesse.
Esperava que o endpoint de refresh token no Swagger solicitasse o instanceName e executasse a rota correta:
PUT /instance/refreshToken/{instanceName}
Com isso, esperava receber um novo token JWT na resposta.
Explique o que realmente acontece quando você segue os passos acima.
O Swagger executa a rota sem o instanceName:
PUT /instance/refreshToken/
A API retorna 404:
Cannot PUT /instance/refreshToken/
No código, a rota real usa routerPath('refreshToken'), que adiciona /:instanceName por padrão. Portanto, o Swagger
parece estar documentando uma rota diferente da rota real.
Insira o número da sua versão que está na propriedade version do package.json.
1.3.6
Se possível, adicione capturas de tela ou vídeos que ilustrem o problema.
Isso pode ser extremamente útil para entender melhor o problema.
No response
O ambiente no qual a aplicação está em execução
Linux
Por favor, anexe os logs que possam estar relacionados ao problema.
Se os logs contiverem informações sensíveis, considere enviá-los de forma privada para um dos mantenedores do projeto.
{
"status": 404,
"message": "Cannot PUT /instance/refreshToken/",
"error": "Not Found"
}
Inclua aqui qualquer outra informação que você ache que possa ser útil para entender ou resolver o bug.
No docs/swagger.yaml, o endpoint está documentado como:
/instance/refreshToken/:
put:
Mas em src/whatsapp/routers/instance.router.ts, a rota é registrada com:
.put(routerPath('refreshToken'), ...)
E routerPath() adiciona /:instanceName por padrão quando o segundo parâmetro não é informado.
A documentação deveria incluir o parâmetro de path instanceName, por exemplo:
/instance/refreshToken/{instanceName}:
put:
parameters:
- name: instanceName
in: path
required: true
Pesquisei problemas semelhantes no GitHub e não encontrei nenhum.
Quais passos para chegar ao problema?
Tentei renovar o token JWT pelo Swagger em
/docs, usando o endpoint documentado como:PUT /instance/refreshToken/
Enviei o body:
{
"oldToken": ""
}
Descreva o que você esperava que acontecesse.
Esperava que o endpoint de refresh token no Swagger solicitasse o
instanceNamee executasse a rota correta:PUT /instance/refreshToken/{instanceName}
Com isso, esperava receber um novo token JWT na resposta.
Explique o que realmente acontece quando você segue os passos acima.
O Swagger executa a rota sem o
instanceName:PUT /instance/refreshToken/
A API retorna 404:
Cannot PUT /instance/refreshToken/
No código, a rota real usa
routerPath('refreshToken'), que adiciona/:instanceNamepor padrão. Portanto, o Swaggerparece estar documentando uma rota diferente da rota real.
Insira o número da sua versão que está na propriedade
versiondo package.json.1.3.6
Se possível, adicione capturas de tela ou vídeos que ilustrem o problema.
Isso pode ser extremamente útil para entender melhor o problema.
No response
O ambiente no qual a aplicação está em execução
Linux
Por favor, anexe os logs que possam estar relacionados ao problema.
Se os logs contiverem informações sensíveis, considere enviá-los de forma privada para um dos mantenedores do projeto.
{
"status": 404,
"message": "Cannot PUT /instance/refreshToken/",
"error": "Not Found"
}
Inclua aqui qualquer outra informação que você ache que possa ser útil para entender ou resolver o bug.
No
docs/swagger.yaml, o endpoint está documentado como:/instance/refreshToken/:
put:
Mas em
src/whatsapp/routers/instance.router.ts, a rota é registrada com:.put(routerPath('refreshToken'), ...)
E
routerPath()adiciona/:instanceNamepor padrão quando o segundo parâmetro não é informado.A documentação deveria incluir o parâmetro de path
instanceName, por exemplo:/instance/refreshToken/{instanceName}:
put:
parameters:
- name: instanceName
in: path
required: true