请问下专家如何配置呢
这两个字段本来就在 Webhook 的 JSON 请求体里,不用再加请求头。你这里拿不到 clientId,是 Java 字段名和 EMQX 字段名没对上:EMQX 发送的是小写 clientid。
EmqxBridgeMessage 按实际字段映射:
public class EmqxBridgeMessage {
@JsonProperty("clientid")
private String clientId;
private String username;
@JsonProperty("id")
private String messageId;
@JsonProperty("publish_received_at")
private Long receivedAt;
}
先删掉截图里两条自定义请求头,直接按 JSON body 反序列化。username 如果显示为 undefined,说明客户端连接时没传用户名,Webhook 端不会凭空生成。
如果你的业务接口硬性要求放进 HTTP Header,请求头的值要写成 ${clientid} 和 ${username},不是字面量 clientid、username;服务端也要从真实 HTTP Header 读取,不是读取请求体里的 headers 字段。

