diff --git a/jetlinks-manager/device-manager/src/main/java/org/jetlinks/community/device/web/DeviceMessageController.java b/jetlinks-manager/device-manager/src/main/java/org/jetlinks/community/device/web/DeviceMessageController.java index 7a22fd31..a2cc9aff 100644 --- a/jetlinks-manager/device-manager/src/main/java/org/jetlinks/community/device/web/DeviceMessageController.java +++ b/jetlinks-manager/device-manager/src/main/java/org/jetlinks/community/device/web/DeviceMessageController.java @@ -129,11 +129,13 @@ public class DeviceMessageController { return registry .getDevice(deviceId) .switchIfEmpty(ErrorUtils.notFound("设备不存在")) - .map(operator -> operator + .flatMap(operator -> operator .messageSender() .invokeFunction(functionId) .messageId(IDGenerator.SNOW_FLAKE_STRING.generate()) - .setParameter(properties)) + .setParameter(properties) + .validate() + ) .flatMapMany(FunctionInvokeMessageSender::send) .map(mapReply(FunctionInvokeMessageReply::getOutput)); }