SpringBoot中前臺界面帶參數請求WebSocket請求報錯MethodArgumentNotValidException

ERROR 15708 --- [nboundChannel-4] .WebSocketAnnotationMethodMessageHandler : Unhandled exception from message handler method.

org.springframework.messaging.handler.annotation.support.MethodArgumentNotValidException: Could not resolve method parameter at index 0 in public void com.XX.energymanagement.controller.ElectorDevsDataController.getDevsData(java.lang.String,org.springframework.messaging.simp.SimpMessageHeaderAccessor): 1 error(s): [Error in object 'reqValue': codes []; arguments []; default message [Payload value must not be empty]]

前臺html代碼:

stompClient.send("/app/getDevsData", {}, value);
stompClient.subscribe('/topic/devsData', function (data) {
     console.log("name --"+data.body);
 });

後臺java代碼:

//reqValue-前臺傳入的參數
//headerAccessor 獲取前臺的SessionId
@MessageMapping("/getDevsData")
public void getDevsData1(String reqValue, SimpMessageHeaderAccessor headerAccessor){
    //省略業務邏輯
    messagingTemplate.convertAndSend("/topic/devsData", resultJson.toString());
}

錯誤原因

參數reqValue="" (reqValue=" "不會報錯)或者reqValue=null;

檢查前臺代碼中value值

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章