gpt4 book ai didi

Java 使用 REST API 向 Firebase 实时数据库发送数据问题

转载 作者:搜寻专家 更新时间:2023-11-01 03:31:58 24 4
gpt4 key购买 nike

我正在尝试使用以下 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 和数据,它工作正常。

有人可以指导我解决这个问题吗?

最佳答案

我会使用一个库来抽象其中的一些内容,例如 CXF(用于实际的 HTTP 内容)和 Jackson(用于 JSON 处理)。代码会变得更简单:

WebClient client = WebClient.create("https://testiosproject-1234a.firebaseio.com");
client.path("users.json");
client.type(MediaType.APPLICATION_JSON).accept(MediaType.APPLICATION_JSON)
Response r = client.post(record);
MyResponseClassIfAny b = r.readEntity(MyResponseClassIfAny .class);

改编自CXF Documentation .

请注意,大多数 WebClient 设置代码可以(并且可能应该)在 fr 循环之外完成,因为它永远不会改变。

关于Java 使用 REST API 向 Firebase 实时数据库发送数据问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48943386/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com