Публикация в обмене rabbitmq по умолчанию с помощью HTTP api

поэтому я использую rabbitmqs http api для выполнения некоторых очень простых действий в rabbit. Он отлично работает в большинстве ситуаций, но у меня проблема с тем, как использовать его для публикации сообщения в обмене rabbitmq по умолчанию. Этот обмен всегда присутствует, не может быть удален и имеет привязку к каждой очереди с ключом маршрутизации, равным имени очереди.

моя проблема в том, что у этой очереди нет имени, или, скорее, это имя-пустая строка "". И URL, который я должен использовать для опубликуйте это сообщение с помощью HTTP api, содержащего имя exchange.

http://localhost:15672/api/exchanges/vhost/name/publish (Источник: http://hg.rabbitmq.com/rabbitmq-management/raw-file/rabbitmq_v3_3_4/priv/www/api/index.html)

в той же статье упоминается, что для использования vhost по умолчанию, который имеет имя"/", необходимо использовать %2f вместо имени vhost. Это заставляет меня думать, что должен быть аналогичный способ представления обмен глухими в url-адресе.

Я пробовал несколько разных вещей, и ни одна из них не работала:

/api/exchanges/vhost//publish
/api/exchanges/vhost/""/publish
/api/exchanges/vhost/''/publish
/api/exchanges/vhost/ /publish
/api/exchanges/vhost/%00/publish

Я уверен, что я не могу быть единственным человеком, который столкнулся с этой проблемой. любая помощь будет высоко ценится.

спасибо, Тома

1 ответов


Это способ опубликовать сообщение amq.default:

http://localhost:15672/api/exchanges/%2f/amq.по умолчанию / publish

С

{"properties":{},
 "routing_key":"queue_test",
 "payload":"message test ",
 "payload_encoding":"string"}

routing_key - это очередь, в которой вы опубликуете сообщение.

следующий пример использования плагина chrome:

enter image description here