带有正文表单数据的邮递员请求 json

Postman request with body Form data to json

邮递员有问题...

一方面,我可以在表单数据的正文中提出这个请求。

但是,当我尝试发送带有原始正文 (json) 的相同请求时,我得到了这个:

我正在尝试通过 Angular 5 将数据发送到 Drupal 8 后端。

谢谢!

尝试将 Headers 添加到 Content-Type:application/json

这取决于后端是否可以接收 JSON 格式。

就我而言,我正在使用 Drupal 8 模块简单 Oauth。 OAuth 2.0 Bearer 令牌的格式实际上在单独的规范 RFC 6750.

中进行了描述

更具体here

The entity-body follows the encoding requirements of the "application/x-www-form-urlencoded" content-type as defined by HTML 4.01 [W3C.REC-html401-19991224].

因此,在我的特定情况下,我将尝试从 angular 发送一个 form-data。

感谢:Jean Rostan

如上所述,如果您正在查看此问题,后端可能不接受 JSON。我遇到了完全相同的问题,但前端不同。对于一个对我有用的例子,你可以使用:

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()

这是一种 async/await 格式,排除了您可能需要的几个设置步骤,包括 try/catch,但您应该能够采用上述内容并尝试将其转换为您的需要和获得所需的结果。