All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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