
com.zhuang.mica.mqtt.controller.MqttClientController Maven / Gradle / Ivy
The newest version!
package com.zhuang.mica.mqtt.controller;
import com.zhuang.mica.mqtt.client.MqttClientService;
import com.zhuang.mica.mqtt.enums.DeviceTopics;
import com.zhuang.mica.mqtt.model.FunctionMessage;
import com.zhuang.mica.mqtt.model.Message;
import com.zhuang.mica.mqtt.model.MessageOptions;
import com.zhuang.mica.mqtt.service.DeviceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("client")
public class MqttClientController {
@Autowired(required = false)
private MqttClientService mqttClientService;
@Autowired
private DeviceService deviceService;
@PostMapping("sendMessage")
public String sendMessage(@RequestBody Message message, MessageOptions messageOptions) {
return mqttClientService.sendMessage(message, messageOptions);
}
@PostMapping("invokeFunction")
public String invokeFunction(@RequestBody FunctionMessage message, @RequestBody MessageOptions messageOptions) {
String topic = DeviceTopics.FUNCTION.getTopic(deviceService.getProductId(message.getDeviceId()), message.getDeviceId());
messageOptions.setTopic(topic);
return mqttClientService.sendMessage(message, messageOptions);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy