2014-10-30 123 views
3

在我的控制器和存在req对象的其他区域中,我可以使用req.params('username')访问请求参数。对于通常发布的数据来说,这很好,但我希望我的API在请求正文中接受一个JSON对象,并将其转换为我仍可以使用req.params()访问的参数。在Sails中访问JSON请求参数

因此,举例来说,如果我发送此作为POST请求体到我的控制器操作:

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

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

目前,工程正在发送数据这样的唯一的事情:

username=Chris&password=mypass 

任何想法?

+0

你想要的奇异参数,可以req.param(“用户名” ) – Meeker 2014-10-30 20:15:46

回答

4

原来我只是发送申请正文application/json而不是默认。

+0

你能链接一个关于这方面的消息吗?我很感兴趣,不知道这甚至是可能的。 – Vadorequest 2014-10-30 22:29:44

+1

我没有信息来源抱歉,文档似乎没有提及任何地方。一时兴起,我决定尝试一下,因为我在其他框架中看到过相同的东西,并且它很有效。 – 2014-10-30 22:30:42

+1

虽然有些间接地在[bodyParser.json()'](https://www.npmjs.org/package/body-parser#bodyparser-json-options-)的文档中提到了“type 'option - “*'type'参数直接传递给[type-is](https://www.npmjs.org/package/type-is#readme)库,它可以是一个扩展名(例如' json'),一个MIME类型(比如'application/json'),或者一个带有通配符的MIME时间(比如'*/json')。*“所提到的'type-is'模块是一个'Content-Type'测试器。 – 2014-10-30 22:43:08

1

req.query为我工作,当我发一个带参数的GET请求作为

/请求?参数1 =一个&参数2 = B