RabbitMq REST HTTP:在JSON有效负载中发送整数值

时间:2018-09-18 19:25:48

标签: json rest rabbitmq spring-rabbitmq rabbitmq-exchange

data types of headers我正在尝试使用REST终结点直接向Exchange发送消息:

/api/exchanges/vhost/name/publish

我正在使用的示例有效负载是:

{ 
  "properties": {
    "timestamp": 1536959503,
    "message_id": "100",
    "correlation_id": " ",
    "priority": 0,
    "delivery_mode": 2,
    "headers": {
      "counter": 0,
      "content-type": "application/xml",
      "correlation-id": " ",
      "message-id": 100,
      "message-type": "message1",
      "status": "P"
    },
    "content_type": "application/xml"
  },
  "routing_key": "p.ee.pp.rr",
  "payload": "sample",
  "payload_encoding": "string"
}

在此情况下,标头中唯一的数字值为message-idcounter

当我从队列中收到消息到类型为<String, Object>的标头映射中时,数值的数据类型为Long

我的代码将message-id强制转换为long,将counter强制转换为Integer。在执行后者时,我得到了一个类强制转换异常。

我有兴趣了解:

  1. 谁将数据类型分配给数值为Long?在哪个阶段被分配(在REST端点流到队列中)

  2. 从JSON读取数据时,Long是默认类型吗?

0 个答案:

没有答案