【发布时间】:2023-01-25 20:23:10
【问题描述】:
我无法从 API 以 JSON 格式接收通知。我制作了一个 SpringBoot 应用程序,它从服务器(端口:1026)的 URL 获取实体。但是,API 有一个我应该使用的订阅和通知系统。 我无法实现从 API 获取通知的实现。当我订阅 API 时,会发送一个我正在订阅的 JSON 实体,我会发送一个端点 URL(端口上的本地主机:1028),通知将在该 URL 上发送。 (实体和端点在同一个 POST 请求中以订阅 API)。 问题是我不知道如何收听该通知并将其显示在网页上,因此当在 API 上调用以更改该实体的值时,我会在服务器日志上看到通知并在我的网站上实时看到它浏览器网页。
这是需要重新编写的代码。在这里,我只是从 API 收到一个 GET 调用以查看创建了哪些实体,但是当我通过邮递员向 API 进行 PUT/POST 时,需要手动刷新才能看到更改,并且它没有使用订阅系统。 我想我需要某种来自服务器 (localhost:1026) 的 GET 侦听器才能解析实体。
try {
URL url = new URL("http://localhost:1026/v2/entities");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.connect();
//Check if connection is made
int responseCode = conn.getResponseCode();
// 200 OK
if (responseCode != 200) {
throw new RuntimeException("HttpResponseCode: " + responseCode);
} else {
informationString = new StringBuilder();
Scanner scanner = new Scanner(url.openStream());
while (scanner.hasNext()) {
informationString.append(scanner.nextLine());
logger.info("Entity updated");
}
//Close the scanner
scanner.close();
logger.info(String.valueOf(informationString));
//return String.valueOf(informationString);
}
} catch (Exception e) {
e.printStackTrace();
}
return String.valueOf(informationString);
【问题讨论】:
标签: java spring spring-boot rest backend