【发布时间】:2021-06-03 21:49:52
【问题描述】:
我有一个带有使用 HTML / CSS / JavaScript 构建的 UI 的 Spring Boot Web 应用程序。我有另一个公开 Spring Data Rest 端点的 Spring Boot 应用程序。这两个应用程序都在 Eureka 服务注册表中注册。
我希望 UI 应用程序调用另一个应用程序的其余端点之一。它将使用数据填充 HTML 页面上的下拉框。为此,我试图让 JavaScript 通过Traverson 直接调用 REST API:
traverson.registerMediaType(TraversonJsonHalAdapter.mediaType,
TraversonJsonHalAdapter);
traverson
.from("http://spring-data-rest-server:8081/api/cars")
.jsonHal()
.newRequest()
.follow(list)
.getResource(...
这种方法有两个问题:
- UI 收到 403 声明
strict-origin-when-cross-origin - URL 是硬编码的,而不是从服务注册表中查找的。li>
如何让 Traverson 调用 Spring Data Rest cars 端点而不对 URL 进行硬编码并避免 403?
【问题讨论】:
标签: javascript spring spring-boot spring-data-rest