package com.iailab.module.websocket.config; import com.alibaba.fastjson.JSONObject; import com.iailab.module.websocket.api.dto.ApiMsgDTO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.websocket.EncodeException; import javax.websocket.Encoder; import javax.websocket.EndpointConfig; /** * @desc: WebSocket编码器 * @author: lirm * @createTime 2023.11.23 */ public class ServerEncoder implements Encoder.Text { private static final Logger log = LoggerFactory.getLogger(ServerEncoder.class); /** * 这里的参数 hashMap 要和 Encoder.Text保持一致 * @param hashMap * @return * @throws EncodeException */ @Override public String encode(ApiMsgDTO hashMap) throws EncodeException { /* * 这里是重点,只需要返回Object序列化后的json字符串就行 * 你也可以使用gosn,fastJson来序列化。 * 这里我使用fastjson */ try { return JSONObject.toJSONString(hashMap); }catch (Exception e){ log.error("",e); } return null; } @Override public void init(EndpointConfig endpointConfig) { //可忽略 } @Override public void destroy() { //可忽略 } }