国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

RuoYi-Vue前后端分離搭建MQTT服務(wù)器實(shí)現(xiàn)消息訂閱、發(fā)布、數(shù)據(jù)存儲(chǔ) (EMQX Windows10)最全,懶人操作

這篇具有很好參考價(jià)值的文章主要介紹了RuoYi-Vue前后端分離搭建MQTT服務(wù)器實(shí)現(xiàn)消息訂閱、發(fā)布、數(shù)據(jù)存儲(chǔ) (EMQX Windows10)最全,懶人操作。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1、在RuoYi-Vue項(xiàng)目的superVisualizationSys-common模塊下的pom.xml加入jar包依賴(lài)

<!--mqtt依賴(lài)-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-integration</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.integration</groupId>
    <artifactId>spring-integration-stream</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.integration</groupId>
    <artifactId>spring-integration-mqtt</artifactId>
</dependency>

2、在application.yml添加相關(guān)配置,加在Spring配置下

# Spring配置
spring:
  # mqtt
  mqtt:
    username: admin # 用戶(hù)名
    password: public # 密碼
    hostUrl: tcp:///broker.emqx.io:1883 # tcp://ip:端口
    clientId: clientId # 客戶(hù)端id
    defaultTopic: topic,topic1,test # 訂閱主題
    timeout: 100 # 超時(shí)時(shí)間 (單位:秒)
    keepalive: 60 # 心跳 (單位:秒)
    enabled: true # 是否使用mqtt功能

mqtt 數(shù)據(jù)存儲(chǔ),java,vue.js,服務(wù)器,spring

3、在superVisualizationSys-common\src\main\java\com\superVisualization\common\utils目錄下新建mqtt文件夾,添加以下三個(gè)文件

MqttConfig.java

package com.superVisualization.common.utils.mqtt;


import com.superVisualization.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;

@Component
@ConfigurationProperties("spring.mqtt")
public class MqttConfig {
    @Autowired
    private MqttPushClient mqttPushClient;

    /**
     * 用戶(hù)名
     */
    private String username;
    /**
     * 密碼
     */
    private String password;
    /**
     * 連接地址
     */
    private String hostUrl;
    /**
     * 客戶(hù)Id
     */
    private String clientId;
    /**
     * 默認(rèn)連接話題
     */
    private String defaultTopic;
    /**
     * 超時(shí)時(shí)間
     */
    private int timeout;
    /**
     * 保持連接數(shù)
     */
    private int keepalive;
    /**
     * mqtt功能使能
     */
    private boolean enabled;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getHostUrl() {
        return hostUrl;
    }

    public void setHostUrl(String hostUrl) {
        this.hostUrl = hostUrl;
    }

    public String getClientId() {
        return clientId;
    }

    public void setClientId(String clientId) {
        this.clientId = clientId;
    }

    public String getDefaultTopic() {
        return defaultTopic;
    }

    public void setDefaultTopic(String defaultTopic) {
        this.defaultTopic = defaultTopic;
    }

    public int getTimeout() {
        return timeout;
    }

    public void setTimeout(int timeout) {
        this.timeout = timeout;
    }

    public int getKeepalive() {
        return keepalive;
    }

    public void setKeepalive(int keepalive) {
        this.keepalive = keepalive;
    }

    public boolean isEnabled() {
        return enabled;
    }

    public void setEnabled(boolean enabled) {
        this.enabled = enabled;
    }

    @Bean
    public MqttPushClient getMqttPushClient() {
        if(enabled == true){
            String mqtt_topic[] = StringUtils.split(defaultTopic, ",");
            mqttPushClient.connect(hostUrl, clientId, username, password, timeout, keepalive);//連接
            for(int i=0; i<mqtt_topic.length; i++){
                mqttPushClient.subscribe(mqtt_topic[i], 0);//訂閱主題
            }
        }
        return mqttPushClient;
    }
}

?MqttPushClient.java

package com.superVisualization.common.utils.mqtt;


import com.superVisualization.common.core.domain.AjaxResult;
import org.eclipse.paho.client.mqttv3.*;
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import static com.superVisualization.common.core.domain.AjaxResult.error;
import static com.superVisualization.common.core.domain.AjaxResult.success;

@Component
public class MqttPushClient {
    private static final Logger logger = LoggerFactory.getLogger(MqttPushClient.class);

    @Autowired
    private PushCallback pushCallback;

    private static MqttClient client;

    private static MqttClient getClient() {
        return client;
    }

    private static void setClient(MqttClient client) {
        MqttPushClient.client = client;
    }

    /**
     * 客戶(hù)端連接
     *
     * @param host      ip+端口
     * @param clientID  客戶(hù)端Id
     * @param username  用戶(hù)名
     * @param password  密碼
     * @param timeout   超時(shí)時(shí)間
     * @param keepalive 保留數(shù)
     */
    public void connect(String host, String clientID, String username, String password, int timeout, int keepalive) {
        MqttClient client;
        try {
            client = new MqttClient(host, clientID, new MemoryPersistence());
            MqttConnectOptions options = new MqttConnectOptions();
            options.setCleanSession(true);
            options.setUserName(username);
            options.setPassword(password.toCharArray());
            options.setConnectionTimeout(timeout);
            options.setKeepAliveInterval(keepalive);
            MqttPushClient.setClient(client);
            try {
                client.setCallback(pushCallback);
                client.connect(options);
            } catch (Exception e) {
                e.printStackTrace();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 發(fā)布
     *
     * @param qos         連接方式
     * @param retained    是否保留
     * @param topic       主題
     * @param pushMessage 消息體
     */
    public AjaxResult publish(int qos, boolean retained, String topic, String pushMessage) {
        MqttMessage message = new MqttMessage();
        message.setQos(qos);
        message.setRetained(retained);
        message.setPayload(pushMessage.getBytes());
        MqttTopic mTopic = MqttPushClient.getClient().getTopic(topic);
        if (null == mTopic) {
            logger.error("topic not exist");
        }
        MqttDeliveryToken token;
        try {
            token = mTopic.publish(message);
            token.waitForCompletion();
            return success();
        } catch (MqttPersistenceException e)  {
            e.printStackTrace();
            return error();
        } catch (MqttException e) {
            e.printStackTrace();
            return error();
        }
    }

    /**
     * 訂閱某個(gè)主題
     *
     * @param topic 主題
     * @param qos   連接方式
     */
    public void subscribe(String topic, int qos) {
        logger.info("開(kāi)始訂閱主題" + topic);
        try {
            MqttPushClient.getClient().subscribe(topic, qos);
        } catch (MqttException e) {
            e.printStackTrace();
        }
    }

}

PushCallback.java

package com.superVisualization.common.utils.mqtt;

import com.alibaba.fastjson2.JSONObject;
import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
import org.eclipse.paho.client.mqttv3.MqttCallback;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class PushCallback implements MqttCallback {
    private static final Logger logger = LoggerFactory.getLogger(MqttPushClient.class);

    @Autowired
    private MqttConfig mqttConfig;

    private static MqttClient client;

    private static String _topic;
    private static String _qos;
    private static String _msg;

    @Override
    public void connectionLost(Throwable throwable) {
        // 連接丟失后,一般在這里面進(jìn)行重連
        logger.info("連接斷開(kāi),可以做重連");
        if (client == null || !client.isConnected()) {
            mqttConfig.getMqttPushClient();
        }
    }

    @Override
    public void messageArrived(String topic, MqttMessage mqttMessage) throws Exception {
        // subscribe后得到的消息會(huì)執(zhí)行到這里面
        logger.info("接收消息主題 : " + topic);
        logger.info("接收消息Qos : " + mqttMessage.getQos());
        logger.info("接收消息內(nèi)容 : " + new String(mqttMessage.getPayload()));

        _topic = topic;
        _qos = mqttMessage.getQos()+"";
        _msg = new String(mqttMessage.getPayload());
    }

    @Override
    public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) {
        logger.info("deliveryComplete---------" + iMqttDeliveryToken.isComplete());
    }

    //別的Controller層會(huì)調(diào)用這個(gè)方法來(lái)  獲取  接收到的硬件數(shù)據(jù)
    public String receive() {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("topic", _topic);
        jsonObject.put("qos", _qos);
        jsonObject.put("msg", _msg);
        return jsonObject.toString();
    }

}

注:項(xiàng)目報(bào)紅的地方可以按Alt+Enter鍵導(dǎo)包

二、下載安裝emqx服務(wù)

下載路徑: https://www.emqx.io/zh/download

mqtt 數(shù)據(jù)存儲(chǔ),java,vue.js,服務(wù)器,spring?mqtt 數(shù)據(jù)存儲(chǔ),java,vue.js,服務(wù)器,spring

1.?在windows上安裝EMQX環(huán)境,操作系統(tǒng)是WINDOWS10系統(tǒng),內(nèi)存需2G以上,在官網(wǎng)上下載EMQX服務(wù) (https://www.emqx.io)

2.?把下載的文件拷貝到工作目錄下,可以新建一個(gè)文件夾,后續(xù)啟動(dòng)EMQX服務(wù)就在這個(gè)文件啟動(dòng), 解壓zip文件。

mqtt 數(shù)據(jù)存儲(chǔ),java,vue.js,服務(wù)器,spring

3.?先在etc目錄下修改白名單,打開(kāi)etc目錄,找到acl.conf文件。

mqtt 數(shù)據(jù)存儲(chǔ),java,vue.js,服務(wù)器,spring

?mqtt 數(shù)據(jù)存儲(chǔ),java,vue.js,服務(wù)器,spring

?4.?修改后的文件如下,修改后文件記得保存

mqtt 數(shù)據(jù)存儲(chǔ),java,vue.js,服務(wù)器,spring

5. 在回到上一級(jí)目錄,進(jìn)入bin目錄,電腦在左下角輸入框內(nèi)輸入“cmd“,最好直接選擇以管理員權(quán)限運(yùn)行?

mqtt 數(shù)據(jù)存儲(chǔ),java,vue.js,服務(wù)器,spring

mqtt 數(shù)據(jù)存儲(chǔ),java,vue.js,服務(wù)器,spring

?6.?通過(guò)cmd指令進(jìn)入剛才解壓的emqx文件的bin目錄下,復(fù)制bin文件的目錄,在cmd命令行輸入pushd + 復(fù)制的目錄

例如:

? ?pushd? D:\Tools\emqx-4.4.16-otp24.3.4.6-windows-amd64\emqx\bin? 敲擊回車(chē)。

?mqtt 數(shù)據(jù)存儲(chǔ),java,vue.js,服務(wù)器,spring

7.?執(zhí)行 emqx.cmd start 回車(chē),windowsstart沒(méi)返回,打開(kāi)瀏覽器輸入: localhost:18083

mqtt 數(shù)據(jù)存儲(chǔ),java,vue.js,服務(wù)器,spring

mqtt 數(shù)據(jù)存儲(chǔ),java,vue.js,服務(wù)器,spring

8.?出現(xiàn)如下界面便是EMQX服務(wù)已經(jīng)啟動(dòng),EMQX初始的用戶(hù)名:admin 密碼:public

mqtt 數(shù)據(jù)存儲(chǔ),java,vue.js,服務(wù)器,spring?

9.?在實(shí)際使用中,本地IP最好設(shè)置成固定IP,可通過(guò)電腦的IP訪問(wèn)EMQX服務(wù)器,也可以使用默認(rèn)IP 127.0.0.1

mqtt 數(shù)據(jù)存儲(chǔ),java,vue.js,服務(wù)器,spring

?10.?在側(cè)邊欄的Clients窗口,在這里界面可以看到客戶(hù)端設(shè)備連接的信息。

mqtt 數(shù)據(jù)存儲(chǔ),java,vue.js,服務(wù)器,spring

11.?以上EMQX服務(wù)搭建完成,目前針對(duì)訂閱未進(jìn)行白名單設(shè)置,即安裝了EMQX無(wú)需改動(dòng)參數(shù),把MQTT服務(wù)器指向本地的地址就可以正常訂閱發(fā)布消息。

mqtt 數(shù)據(jù)存儲(chǔ),java,vue.js,服務(wù)器,spring

備注:

其他參數(shù)如果有興趣可以自行研究下。

配置emqx的參數(shù)在emqx--etc目錄下的emqx.conf。

配置白名單或者訂閱主題的在acl.conf。

?

三、下載MQTT X測(cè)試工具, 進(jìn)行安裝?

?mqtt 數(shù)據(jù)存儲(chǔ),java,vue.js,服務(wù)器,spring

1.?打開(kāi)MQTT?X,新建連接,輸入名稱(chēng),點(diǎn)擊右上角(connect)連接?

mqtt 數(shù)據(jù)存儲(chǔ),java,vue.js,服務(wù)器,spring

mqtt 數(shù)據(jù)存儲(chǔ),java,vue.js,服務(wù)器,spring

2. 模擬客戶(hù)端訂閱服務(wù)器主題發(fā)送信息

主題(topic)

?mqtt 數(shù)據(jù)存儲(chǔ),java,vue.js,服務(wù)器,spring

mqtt 數(shù)據(jù)存儲(chǔ),java,vue.js,服務(wù)器,spring

3. 模擬客戶(hù)端訂閱服務(wù)器主題發(fā)送信息

主題(topic1)

mqtt 數(shù)據(jù)存儲(chǔ),java,vue.js,服務(wù)器,spring

mqtt 數(shù)據(jù)存儲(chǔ),java,vue.js,服務(wù)器,spring

4. 后續(xù)需要添加訂閱主題,依次在(defaultTopic)后添加即可

mqtt 數(shù)據(jù)存儲(chǔ),java,vue.js,服務(wù)器,spring

  • EMQX啟動(dòng)命令說(shuō)明

備注:

emqx的命令 :

啟動(dòng) :emqx.cmd start

重啟 :emqx.cmd restart

停止 :emqx.cmd stop

有疑問(wèn)的同學(xué)可以留言評(píng)論。

后續(xù)會(huì)發(fā)布Linux版本實(shí)現(xiàn)EMQX服務(wù)器,實(shí)現(xiàn)消息的訂閱發(fā)布 和 數(shù)據(jù)存儲(chǔ)MySQL等.

覺(jué)得博主可以的,可以點(diǎn)贊加關(guān)注訂閱 再走噢

點(diǎn)贊關(guān)注不迷路,博主帶你學(xué)技術(shù)

mqtt 數(shù)據(jù)存儲(chǔ),java,vue.js,服務(wù)器,spring文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-553912.html

到了這里,關(guān)于RuoYi-Vue前后端分離搭建MQTT服務(wù)器實(shí)現(xiàn)消息訂閱、發(fā)布、數(shù)據(jù)存儲(chǔ) (EMQX Windows10)最全,懶人操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • ruoyi-vue 新建模塊--若依前后端分離系統(tǒng)代碼生成。

    ruoyi-vue 新建模塊--若依前后端分離系統(tǒng)代碼生成。

    1. 在數(shù)據(jù)庫(kù)中創(chuàng)建表 有幾個(gè)要點(diǎn): 1、必須要有自增主鍵; 2、必須要有表注釋?zhuān)?3、每個(gè)字段必須有注釋?zhuān)?》 2.使用代碼生成功能,生成 基礎(chǔ)代碼 2.1 修改代碼生成器中配置文件 generator.yml 修改完成后 → 需要重新啟動(dòng)右上角的RuoYiApplication 2.2 使用 系統(tǒng)工具 代碼生成 創(chuàng)建菜

    2024年02月03日
    瀏覽(19)
  • 若依管理系統(tǒng)RuoYi-Vue(前后端分離版)項(xiàng)目啟動(dòng)教程

    若依管理系統(tǒng)RuoYi-Vue(前后端分離版)項(xiàng)目啟動(dòng)教程

    RuoYi-Vue ?是一個(gè) Java EE 企業(yè)級(jí)快速開(kāi)發(fā)平臺(tái),基于經(jīng)典技術(shù)組合(Spring Boot、Spring Security、MyBatis、Jwt、Vue),內(nèi)置模塊如:部門(mén)管理、角色用戶(hù)、菜單及按鈕授權(quán)、數(shù)據(jù)權(quán)限、系統(tǒng)參數(shù)、日志管理、代碼生成等。在線定時(shí)任務(wù)配置;支持集群,支持多數(shù)據(jù)源,支持分布式事務(wù)

    2024年02月06日
    瀏覽(93)
  • ruoyi-vue前后端分離框架上傳圖片不顯示問(wèn)題,nginx解決方案

    使用若依前后端分離框架,前端項(xiàng)目打包在Nginx,上傳圖片時(shí),圖片上傳成功,但是在列表頁(yè)和添加/修改頁(yè)面沒(méi)有正常顯示。 插入成功后數(shù)據(jù)庫(kù)保存數(shù)據(jù)樣式: 回顯數(shù)據(jù)時(shí)樣式: 此時(shí)樣式是打不開(kāi)的,無(wú)法找到路徑 解決辦法:nginx.conf在location中添加alias location /prod-api/profil

    2024年02月02日
    瀏覽(25)
  • RuoYi-Vue部署服務(wù)器流程

    RuoYi-Vue部署服務(wù)器流程

    本文以騰訊云服務(wù)器+寶塔面板為例子,介紹RuoYi-Vue分離版本的服務(wù)器部署流程,如在部署過(guò)程中遇到問(wèn)題或有什么好的建議,歡迎在評(píng)論區(qū)留言 目錄 1、服務(wù)器環(huán)境配置 2、vue項(xiàng)目打包 2.1、前端項(xiàng)目打包 2.2、打包文件路徑配置 2.3、前端部署測(cè)試 3、Spring?Boot項(xiàng)目打包部署

    2024年01月15日
    瀏覽(26)
  • Linux服務(wù)器部署若依(ruoyi-vue),從購(gòu)買(mǎi)服務(wù)器到部署完成保姆級(jí)教程

    Linux服務(wù)器部署若依(ruoyi-vue),從購(gòu)買(mǎi)服務(wù)器到部署完成保姆級(jí)教程

    Huawei Cloud EulerOS 還是 centos7,糾結(jié)了一段時(shí)間,了解到EulerOS是對(duì)centos8的延續(xù)版本,相當(dāng)于官方不對(duì)centos8繼續(xù)維護(hù)了, 最后還是選 CentOS 7.9 64bit,網(wǎng)上可查找的工具更多且官方還在持續(xù)維護(hù)。 這里簡(jiǎn)單購(gòu)買(mǎi)了一個(gè)月先試用一下 點(diǎn)擊遠(yuǎn)程登錄 第一步先重置密碼 一定在適當(dāng)?shù)牡?/p>

    2024年04月14日
    瀏覽(28)
  • ruoyi若依前后端分離版部署centos7服務(wù)器(全)

    ruoyi若依前后端分離版部署centos7服務(wù)器(全)

    VMware虛擬機(jī) centos7 安裝環(huán)境如下 一、msql 5.7 二、nginx1.23.3 三、java8 四、redis 3.2.1 五、部署若依前端 六、部署若依后端 前言 虛擬機(jī)的橋接與nat模式 : 重點(diǎn) 重點(diǎn)?。?! 無(wú)線不可以用橋接模式 ,而你用了nat模式會(huì)導(dǎo)致除了宿主機(jī)跟虛擬機(jī)外 同一個(gè)路由器下其他設(shè)備訪問(wèn)不到 !

    2024年02月02日
    瀏覽(60)
  • 若依框架ruoyi-vue(前后端版)字典的使用

    若依框架ruoyi-vue(前后端版)字典的使用

    顯示效果: ?狀態(tài)實(shí)際 值為 1,講師審核中為我們?cè)谧值涔芾碇卸x的。 步驟:先在ruoyi的字典管理中定義字典 字典管理中? 然后根據(jù)字典設(shè)置自己需要的值 設(shè)置完值后,然后是前端表格的數(shù)據(jù)回顯 這里先打開(kāi)我們的前端vue工程,我們需要回顯頁(yè)面對(duì)應(yīng)的vue文件中 在expor

    2024年02月11日
    瀏覽(22)
  • 若依(RuoYi-Vue)+Flowable工作流前后端整合教程

    若依(RuoYi-Vue)+Flowable工作流前后端整合教程

    此教程適合若依前后端分離項(xiàng)目,其他項(xiàng)目可以在擴(kuò)展列表中進(jìn)行查找。 近期公司里需要對(duì)很久以前的RuoYi-Vue前后端分離項(xiàng)目擴(kuò)展出flowable的功能,當(dāng)然這個(gè)重任也是落在了我的身上(不然也不會(huì)有這篇文章),然后我在官網(wǎng)看到了RuoYi-Vue-Flowable這個(gè)項(xiàng)目,按照文檔提供的遷

    2023年04月21日
    瀏覽(24)
  • 若依(Ruoyi)前后端分離版項(xiàng)目部署到服務(wù)器(Linux環(huán)境)后,刷新頁(yè)面報(bào)錯(cuò):404 Not Found

    若依(Ruoyi)前后端分離版項(xiàng)目部署到服務(wù)器(Linux環(huán)境)后,刷新頁(yè)面報(bào)錯(cuò):404 Not Found

    原文章: 若依(ruoyi)前后端分離版使用教程之若依后端部署阿里云服務(wù)器步驟(超詳細(xì))_藍(lán)多多的小倉(cāng)庫(kù)的博客-CSDN博客 問(wèn)題: ????????在若依項(xiàng)目部署服務(wù)器后,可以正常運(yùn)行,但如果執(zhí)行刷新頁(yè)面操作,便會(huì)出現(xiàn)404 Not Found。 原因: ????????Nginx未正確配置。由

    2024年02月17日
    瀏覽(30)
  • ruoyi若依前后端分離項(xiàng)目部署到服務(wù)器后,PUT DELETE請(qǐng)求403錯(cuò)誤,GET POST請(qǐng)求正常

    后端打包方式war,部署到tomcat8, PUT DELETE請(qǐng)求報(bào)403錯(cuò)誤,網(wǎng)上有三種說(shuō)法 第一種是跨域請(qǐng)求問(wèn)題 第二種是服務(wù)器沒(méi)有放開(kāi)了PUT DELETE請(qǐng)求,需要前端添加header ruoyi vue 自動(dòng)生成代碼PUT DELETE為http不安全方法,這個(gè)怎么解決安全問(wèn)題 · Issue #I43AX6 · 若依/RuoYi-Vue - Gitee.com 用域名訪問(wèn)

    2024年01月17日
    瀏覽(70)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包