通过REST API中的POST方法发送键/值数据

Happydevdays

我正在使用一个REST API,该API包含POST方法来创建新的小部件。我需要发送的数据如下所示:

 key                           |          value
 widgetnum                     |          12345
 02:00:00_03:00:00_mtwrfsn     |          [email protected]
 12:00:00_15:00:00_mt          |          [email protected]

到目前为止,我一直在通过BODY中的两个键来发布数据:

widgetnum : 12345
tc : 02:00:00_03:00:[email protected],12:00:00_15:00:[email protected]

如您在上面的示例中看到的那样,键“ tc”实际上包含两个记录的信息,只是用逗号隔开。但是昨天,当我在邮递员应用程序中闲逛时……我意识到我可以发送多个键/值对。我不知道为什么这个从来没有点击过。(这样的菜鸟)无论如何,我现在意识到,我实际上可以做到这一点:

widgetnum : 12345
02:00:00_03:00:00_mtwrfsn : [email protected]
12:00:00_15:00:00_mt  : [email protected]

问题

就我的JavaScript代码而言,更改我发布数据的方式是否更有效率?因此,例如,今天,我的代码如下所示:

router.post('/', function(req, res, next) {
        var widgetnum = req.body.widgetnum;
        var tc = req.body.tc;
        var tc_array = tc.split(",");

又名-我可以使用非常特定的键名来查找我的数据。

但是,如果更改发布数据的方式,我相信我将不得不循环查找所有密钥。
所以像这样:

router.post('/', function(req, res, next) {
        //loop through req.body object.
        for (var key in req.body) {
                if (req.body.hasOwnProperty(key)) {
                        // add some logic here to test if the key is
                        // widgetnum or a tc type key.
                        console.log(key + " -> " + req.body[key]);
                }
        }
        res.status(200).send('ok');
        return;
});

如果这似乎是一个补救性问题,我很抱歉-可能是。但是,如果在一个键/值对中发布多个tc记录的格式不好,我很乐意对其进行更改。也许有一种更有效的方式来编写我的JavaScript代码以查找数据。

谢谢。

德拉卡SAN

要发送和接收键/值对,已经存在(几乎)为您工作的格式。其中之一就是JSON,JSON得到了广泛的支持,尤其是在JavaScript中。

由于您已经在使用express,因此可以添加body-parser并设置它以自动解析JSON:

发送的数据(POSTMan:主体类型:application / json,复制粘贴在主体中。

{
    "widgetnum" : 12345,
    "tc" : {
        "02:00:00_03:00:00_mtwrfsn": [email protected],
        "12:00:00_15:00:00_mt": [email protected]
    } 
}

服务器代码:

"use strict";

const express = require('express'),
    router = express.Router(),
    bodyParser = require('body-parser');

router.use(bodyParser.json());

router.post('/', function(req, res, next) {
    var widgetnum = req.body.widgetnum;
    var tc = req.body.tc;
    //No more need for tc_array
    //...
}

不再需要自定义格式,req.body将是与发送的JSON具有相同形式的JS对象,因此您可以执行以下操作:

console.log(req.body.tc['02:00:00_03:00:00_mtwrfsn']); //print [email protected]
console.log(Object.keys(req.body.tc)); //Print ['02:00:00_03:00:00_mtwrfsn', '12:00:00_15:00:00_mt']

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用 REST 通过 Apache Kafka 发送数据

来自分类Dev

如何通过REST API发送文件?

来自分类Dev

通过Django REST Framework中的单个POST方法发送Python字典

来自分类Dev

通过Parse.com中的REST API发送推送通知{“代码”:115,“错误”:“缺少推送数据。”}

来自分类Dev

LotusScript:通过POST方法HTTP发送数据

来自分类Dev

通过REST API设置状态

来自分类Dev

通过REST API签名信封?

来自分类Dev

无法通过 REST API 发布

来自分类Dev

InfluxDB:通过REST API从测量查询数据

来自分类常见问题

如何使用python通过POST请求将带有元数据(标题,描述)的媒体发送到WordPress REST API

来自分类Dev

如何使用python通过POST请求将带有元数据(标题,描述)的媒体发送到WordPress REST API

来自分类Dev

AJAX POST 不发送数据而是通过 GET 方法发送

来自分类Dev

通过 REST API 在 Artifactory 中设置 baseURL

来自分类Dev

如何在 Django Rest Framework 序列化程序中访问通过 POST 请求发送的额外数据

来自分类Dev

数据通过REST API中的控制器传递

来自分类Dev

无法通过php文件中的javascript中的$ .post方法的回调函数参数发送数据

来自分类Dev

如何通过REST服务发送本地文件?

来自分类Dev

如何通过REST服务发送本地文件?

来自分类Dev

使用rest api通过get方法获取url中传递的数据

来自分类Dev

如何通过REST API向JIRA发送POST请求以创建项目

来自分类Dev

在 Google FCM 上通过 REST API 检查发送消息的结果?

来自分类Dev

VSTS工作项通过REST API列出

来自分类Dev

通过REST API进行Firebase交易

来自分类Dev

通过REST API的存储分支权限

来自分类Dev

通过PHP REST API检索JSON

来自分类Dev

通过rest API检索交易ID

来自分类Dev

通过REST API与Django交流与salesforce

来自分类Dev

如何通过REST API提交工作?

来自分类Dev

通过REST API确保用户

Related 相关文章

  1. 1

    使用 REST 通过 Apache Kafka 发送数据

  2. 2

    如何通过REST API发送文件?

  3. 3

    通过Django REST Framework中的单个POST方法发送Python字典

  4. 4

    通过Parse.com中的REST API发送推送通知{“代码”:115,“错误”:“缺少推送数据。”}

  5. 5

    LotusScript:通过POST方法HTTP发送数据

  6. 6

    通过REST API设置状态

  7. 7

    通过REST API签名信封?

  8. 8

    无法通过 REST API 发布

  9. 9

    InfluxDB:通过REST API从测量查询数据

  10. 10

    如何使用python通过POST请求将带有元数据(标题,描述)的媒体发送到WordPress REST API

  11. 11

    如何使用python通过POST请求将带有元数据(标题,描述)的媒体发送到WordPress REST API

  12. 12

    AJAX POST 不发送数据而是通过 GET 方法发送

  13. 13

    通过 REST API 在 Artifactory 中设置 baseURL

  14. 14

    如何在 Django Rest Framework 序列化程序中访问通过 POST 请求发送的额外数据

  15. 15

    数据通过REST API中的控制器传递

  16. 16

    无法通过php文件中的javascript中的$ .post方法的回调函数参数发送数据

  17. 17

    如何通过REST服务发送本地文件?

  18. 18

    如何通过REST服务发送本地文件?

  19. 19

    使用rest api通过get方法获取url中传递的数据

  20. 20

    如何通过REST API向JIRA发送POST请求以创建项目

  21. 21

    在 Google FCM 上通过 REST API 检查发送消息的结果?

  22. 22

    VSTS工作项通过REST API列出

  23. 23

    通过REST API进行Firebase交易

  24. 24

    通过REST API的存储分支权限

  25. 25

    通过PHP REST API检索JSON

  26. 26

    通过rest API检索交易ID

  27. 27

    通过REST API与Django交流与salesforce

  28. 28

    如何通过REST API提交工作?

  29. 29

    通过REST API确保用户

热门标签

归档