我有一个问题。我的项目是两个 Spring Boot,它们通过 Resttemplate 连接在一起(我已经为它制作了一个 bean)。
我的项目是这样的,信息以json的形式从第一个项目的前面导入,没有任何更改地发送到第二个项目,并在那里注册到数据库中。
该项目在所有 4 种方法中都没有错误。问题是,当我想通过具有不同 IP 的另一个系统访问该项目时,它会给出错误,并且我无法执行任何操作(构建、读取等)。它不起作用,但它显示 html 页面)。我无法使用 @CrossOrgin 注释来修复它。有人可以帮我吗?
前面使用:html & js
后端:java、spring boot 和 hibernate
数据库:oracle
我在我的控制器方法上尝试了@Cross origin。
请注意,由于安全问题,交叉呼叫默认处于禁用状态,并在启用之前进行进一步研究,以避免任何尴尬的意外。
URL 示例:{在此输入进行调用的服务器的 URL} = "http://serverhost:serverport"
尝试在你的SpringBoot后端项目中创建一个与此类似的配置类:
package {Put here your conf package}
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class CorsConf {
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurer() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("{Put here the URL of the server that makes the call}");
}
};
}
}
尝试更好地指定允许的映射(“/**” -> 这意味着任何 URL 都可以进行交叉调用,最好只限制您想要使用的映射)