在 sails 中以 json 格式给出参数

Give parameter with json format in sails

在我的控制器和其他有请求对象的区域,我可以使用 req.params('username') 访问请求参数。这对于正常 POSTed 数据很好,但我希望我的 API 接受请求正文中的 JSON 对象并将其转换为我仍然可以使用 [=14= 访问的参数].

例如,如果我将此作为 POST 请求正文发送到我的控制器操作:

{'username': 'Chris', 'password': 'mypass'}

我希望能够使用 req.params('username')req.param('password') 获取用户名和密码。

目前唯一可行的方法是像这样发送数据:

username=Chris&password=mypass

有什么想法吗?

发送json对象时,可以在req.body

中访问POST请求数据

你必须设置请求 header : Content-Typeapplication/json

有一件事我想澄清一下,

req.params用于获取url参数

e,g, /user/:name

req.params("name")

req.param更强大,你可以通过此方法获取三个数据,具有以下优先级

  1. Url 参数

e,g, /user/:name

req.param("name") //url parameters 
  1. Body 查询字符串或 body 数据

POST HEADER(可选,默认)

Content-Type:application/json

POST BODY - json 数据

{'username': 'Chris', 'password': 'mypass'}

POST HEADER

Content-Type:application/x-www-form-urlencoded

POST BODY - 查询字符串

username=Chris&password=mypass

您可以使用req.param('password')获取您发送的值。

  1. 查询字符串

e,g, /user?nickname=ryan

req.param("nickname") //ryan