2 回答
TA贡献1895条经验 获得超3个赞
您需要将 Go 对象序列化为例如。发布之前的 base64 文本。在您的消费者中,您然后反序列化它以取回您的初始对象。有关Go 中的示例,请参阅“ Golang 序列化和反序列化”。
对于内容类型,我不确定什么是最合适的。application/octet-stream?
TA贡献1852条经验 获得超1个赞
太简单了。您可以使用json和bytes包来序列化和反序列化消息。为你准备了这个例子:
type Message map[string]interface{}
func serialize(msg Message) ([]byte, error) {
var b bytes.Buffer
encoder := json.NewEncoder(&b)
err := encoder.Encode(msg)
return b.Bytes(), err
}
func deserialize(b []byte) (Message, error) {
var msg Message
buf := bytes.NewBuffer(b)
decoder := json.NewDecoder(buf)
err := decoder.Decode(&msg)
return msg, err
}
是的,基本上就是这样。RabbitMQ库中的主体字段是字节数组,因此您只需要在数据结构和字节数组之间进行转换。
- 2 回答
- 0 关注
- 251 浏览
添加回答
举报
