本文介绍了从chrome延伸器的弹簧靴上交叉原点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在我的春季申请中,我有一个方法:
In my spring application, I have a method:
@CrossOrigin(origins="*")
@PostMapping("/datum")
Datum test(@RequestBody String data) {
return repository.save(new Datum(data));
}
我希望所有应用程序都可以访问它,所以我把 @CrossOrigin(origins = / **)
。但是,当我尝试这样做时,它运行时没有任何抱怨。
I want that all the application can access it, so I have put that @CrossOrigin(origins="/**")
. But when I try to do so, it runs without any complain.
这是我从chrome扩展程序发送数据的方式:
This is how I'm sending data from a chrome extension:
var request = new XMLHttpRequest();
let url='http://localhost:8080/datum';
let data=JSON.stringify({ "data": body});
request.open('POST', url, true);
request.setRequestHeader("Content-Type", "application/json");
request.send(data);
我的扩展名清单:
"permissions": [
"activeTab",
"tabs",
"<all_urls>",
"background",
"http://*/*",
"https://*/*",
"http://localhost:8080/datum"
],
给我错误 403
但是客户端仍然无法访问它,如何解决?
But client still can't access this, how this can be solved?
推荐答案
在我的 @中SpringBootApplication
注释的类,我添加了这个:
In my @SpringBootApplication
annoted class, I added this :
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurer() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**").allowedOrigins("*");
}
};
}
在 manifest.json $ c $中c>:
"permissions": [
"activeTab",
"tabs",
"background",
"http://*/"
]
现在可以使用了。
这篇关于从chrome延伸器的弹簧靴上交叉原点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!