J'ai un problème avec le facteur ...
D'un côté, je peux faire cette demande avec le corps sous forme de données.
Mais, lorsque j'essaie d'envoyer la même demande avec le corps en raw (json), j'ai obtenu ceci:
J'essaie d'envoyer les données via Angular 5 à un Drupal 8 Backend.
Merci!
Cela dépendra si le backend peut recevoir un format JSON.
Dans mon cas, je travaille avec le Drupal 8 Module simple Oauth. Et le format pour OAuth 2.0 jetons de porteur est en fait décrit dans une spécification séparée, RFC 675 .
Plus concret ici
Le corps d'entité suit les exigences de codage du type de contenu "application/x-www-form-urlencoded" tel que défini par HTML 4.01 [W3C.REC-html401-19991224].
Donc, dans mon cas particulier, je vais essayer d'envoyer un formulaire de données angulaire.
Merci: Jean Rostan
Comme indiqué ci-dessus, le backend peut ne pas accepter JSON si vous consultez cette question. J'avais exactement le même problème mais avec un frontal différent. Pour un exemple qui a fonctionné pour moi pour obtenir une réponse de départ, vous pouvez utiliser:
const axios = require("axios");
const querystring = require("querystring");
const authenticate = async () => {
.post((req, res) => {
let authData = {
grant_type: "password",
client_id: "id",
client_secret: "secret",
username: "name",
password: "password"
};
const authResponse = await axios.post(
"http://blah.com/endpoint",
querystring.stringify(authData)
);
return res.send(authResponse.data);
}
authenticate()
C'est dans un format asynchrone/attendent qui exclut quelques étapes de configuration dont vous pourriez avoir besoin, y compris try/catch, mais vous devriez être en mesure de prendre ce qui précède et d'essayer de le convertir à vos besoins et d'obtenir le résultat nécessaire.