You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

68 lines
2.2 KiB

package com.inspect.tcpserver.controller;
import com.alibaba.fastjson.JSONObject;
import com.inspect.tcpserver.domain.AjaxResult;
import com.inspect.tcpserver.tcp.NettyClient;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.MDC;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.UUID;
@RestController
@RequestMapping("/client")
public class ClientController {
private Logger logger = LoggerFactory.getLogger(ClientController.class);
@Resource
NettyClient nettyClient;
@GetMapping("gray")
public String gray() {
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
MDC.put("traceId", uuid);
logger.info("这是一个来自springboot,logback的info级别的日志");
logger.warn("这是一条来自springboot,logback的warn级别的日志");
logger.warn("这是一条来自springboot,logback的warn级别的日志2");
logger.error("这是一条来自springboot,logback的error级别的日志", new Exception("系统错误"));
return "success";
}
/**
* 调用客户端发送消息
*/
@PostMapping("sendMsg")
public AjaxResult sendMsg(@RequestBody String msg) {
try {
if (StringUtils.isBlank(msg)) {
return AjaxResult.fail("500", "发送消息msg为空");
}
// 此处只是为了判断传入的格式是否正确
JSONObject jsonObject = JSONObject.parseObject(msg);
if (null == jsonObject) {
return AjaxResult.fail("500", "发送消息json对象为空");
}
logger.info("巡视主机客户端接收到消息,发送到上级。{}", msg);
msg = msg.replaceAll("sendCode", "SendCode");
msg = msg.replaceAll("receiveCode", "ReceiveCode");
msg = msg.replaceAll("type", "Type");
nettyClient.sendJsonMessage(msg);
return AjaxResult.success();
} catch (Exception e) {
logger.error("客户端发送消息捕获异常", e);
return AjaxResult.fail(500, "数据格式不正确");
}
}
}