我使用“react admin”来创建一个管理界面(前端)。我使用springboot作为restapi。我的应用程序的url是:“http://localhost:3000". 我的spring boot api的url是:“http://localhost:8080".
这是我的用于cors配置的spring引导代码,它位于一个名为corsconfig的单独类中:
@Configuration
public class CorsConfig implements WebMvcConfigurer{
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("http://localhost:3000") //frontend's link
.allowedHeaders("*")
.allowedMethods("*");
}
}
这是我的代码:
import React from 'react';
import {Admin,ListGuesser, Resource} from 'react-admin';
import restProvider from 'ra-data-simple-rest';
const parentURL = restProvider(`http://localhost:8080`);
function App() {
return(
<Admin dataProvider={parentURL}>
<Resource name="DashBoard" list={ListGuesser}/>
<Resource name="list" list={ListGuesser} />
</Admin>
);
}
export default App;
在“chrome devtools”中,我收到了以下错误,它们抱怨在后端配置的cors策略:
问题1:
错误消息1
问题2:我也得到了以下错误,这是抱怨restprovider:错误消息2
以上两个错误有哪些可能的解决方案?
1条答案
按热度按时间lnxxn5zx1#
你需要加上
CORSFilter
正如我在回答中提到的那样-https://stackoverflow.com/a/66882700/3709922在中添加允许的域
Access-Control-Allow-Origin
标题值。*
表示允许所有域。添加
Content-Range
在Access-Control-Expose-Headers
标题值列表,如: