Eu tenho uma rota definida em nodejs / express assim:
const testSync = (req, res) => {
res.status(200).send(req.body.url)
}
router.post('/test-sync', testSync);
e no meu cliente eu faço uma solicitação de API usando fetch, assim:
const requestOptions = {
method: 'POST',
redirect: 'follow',
body: {
url: "some url"
}
};
fetch(`http://${domainName}/api/test-sync`, requestOptions)
.then(response => response.text())
.then(result => {
console.log(result)
})
.catch(error => {
console.log(error)
});
Estou fazendo isso como um teste para ver como usar os dados do corpo da solicitação. Até agora, se eu usar este endpoint da API no carteiro, recebo apenas um JSON vazio. Como devo proceder se quiser acessar os dados do corpo da solicitação? como o req.body.url
do meu código.
Presumindo que você esteja usando o Express? Você pode colocar isso no seu roteador.
router.use(express.json());
E para a solicitação de seu cliente, você pode tentar:
const requestOptions = {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({url: 'someurl'})
}
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras