【发布时间】:2018-02-23 07:48:09
【问题描述】:
我正在尝试使用以下 JAVA 代码通过 REST API 将一些数据发送到 Firebase 实时数据库。
public void doWork() {
consumer.subscribe(Collections.singletonList(this.topic));
ConsumerRecords<String, String> records = consumer.poll(1000);
for (ConsumerRecord<String, String> record : records) {
System.out.println("Sending data: " + record.value() );
// https://testiosproject-6054a.firebaseio.com/users.json
// 1. URL
URL url;
try {
url = new URL("https://testiosproject-1234a.firebaseio.com/users.json");
// 2. Open connection
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
// 3. Specify POST method
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Accept", "application/json");
conn.connect();
// Write data
OutputStream os = conn.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os, "UTF-8");
osw.write(record.value());
osw.flush();
osw.close();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
以下是尝试发送的数据:
Sending data: {"UserID":"101","UserAddress":"XYZ","UserAccount":"987","UserName":"Stella"}
但是,我没有在 Firebase 实时数据库控制台上收到这些数据。我不确定这个问题的原因是什么?
我尝试了 Postman 客户端,并尝试了相同的 URL 和数据,它工作正常。
有人可以指导我解决这个问题吗?
【问题讨论】:
-
您是否得到响应,只是无法在 firebase 上存储数据。?
-
如何查看响应?我没听懂。
-
您说,这是您要发送的数据
Received message: {"UserID":"101","UserAddress":"XYZ","UserAccount":"987","UserName":"Stella"}。您如何尝试发送这些数据?请分享代码。 -
我通过添加 osw.write(record.value().toString()); 修复它
-
如果它解决了你的问题,你可以回答你自己的问题。 :)
标签: java firebase firebase-realtime-database