我有一个ANGLE应用程序,它使用代理来访问Java Spring引导后端和其他服务:
Proxy.conf.js:
const PROXY_CONFIG = [
{
context: [
"/my/api/context/**"
],
target: "http://localhost:9000/",
headers: {
"Content-Type": "application/json"
},
secure: false,
logLevel: "debug",
changeOrigin: true,
},
...
}]
module.exports = PROXY_CONFIG;
MyController.java:
@RestController
@RequestMapping("/my/api/controller/path")
public class MyController {
...
@PostMapping("/endpoint/{id}")
public ResponseEntity<Boolean> endpoint(@PathVariable Long id) {
...
}
...
}
我还在使用ZooKeeper进行一些环境配置。
问题是,对于GET请求,我的Angular 应用程序运行得很好,但对于任何其他动词,我从Spring Boot收到一个403 Forbidden
错误和一条Invalid CORS request
消息。奇怪的是,当我复制带有所有头的请求并通过Postman提交时,我得到了一个200
响应,没有任何问题。
网上有很多关于这个问题的问题,但似乎都指向一个后端问题。在本例中,后端似乎配置良好( Postman 请求成功)。
我确信我错过了一些微不足道的东西,但我就是摸不着头脑。有人知道这里会出什么问题吗?如有任何帮助或建议,我们将不胜感激。如果你还需要什么,尽管告诉我,我看看能不能告诉你。
编辑#1:
My.service.ts:
myPost(id: number): Observable<any> {
return this.http.post<any>(`${this.endpoint}/${id}`);
}
2条答案
按热度按时间8nuwlpux1#
只需添加
@CrossOrigin
在您的控制器类上,它应该可以解决这个问题。
zfycwa2u2#
我只需要设定:
而且它起作用了。