第6章 接收前台数据
在工作中也会遇到需要接收前台发送数据,进行存储的情况。这里以接收日志服务器的日志数据保存到kafka为例。
6.1 模拟数据
在数据模拟程序中配置日志要发送的url地址:
dest:
logUrl: http://localhost:8080/app
之后重启数据模拟程序。
6.2 接收数据
在数据接口程序中接收日志并写入kafka。
6.2.1 编写Dao
使用SpringBoot提供的KafkaTemplate可以作为客户端生产者向kafka进行生产操作。
6.2.2 编写ServiceImpl
在Service中添加接收数据写入Kafka的方法如下:
public interface DataInterfaceService { void sendDataToKafka(String data); } 编写Service的方法实现: @Service public class DataInterfaceServiceImpl implements DataInterfaceService { //读取配置文件中dest.topic参数获取要写入的主题 @Value(“${dest.topic}”) private String topic; @Autowired private KafkaTemplate kafkaTemplate; Override public void sendDataToKafka(String data) { kafkaTemplate.send(topic,data); } }
6.2.3 编写Controller
默认数据模拟程序发送get请求,参数名为logStr,参考数据模拟程序的配置文件。
@RestController public class DataInterfaceController { @Autowired private DataInterfaceService dIService; @GetMapping(value = “/app”) public void saveLogToKafka(String logStr){
log.info(logStr); dIService.sendDataToKafka(logStr);
}
}
6.2.4 验证
打开Kafka客户端进行验证: