第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<String,String> 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){
代码语言:javascript复制log.info(logStr);
dIService.sendDataToKafka(logStr);
}
}
6.2.4 验证
打开Kafka客户端进行验证: