java - 使用@RestController时如何设置Access-Control-Allow-Origin?
问题描述
我正在使用 @RestController 来提供 REST 服务。但我需要在响应头中设置 Access-Control-Allow-Origin。我该怎么做?
我的休息控制器:
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class restController {
@RequestMapping("/some")
public Response some(@RequestParam(value="body") String user) {
return new Response(user);
}
}
我的回复:
public class Response {
long id;
String user;
public Response(String user) {
this.id = 7;
this.user = user;
}
}
@RestController 工作得很好,但是如何修改它或设置 Access-Control-Allow-Origin 的响应?
解决方案
试试这个代码:
@CrossOrigin(origins = "*")
@RequestMapping("/some")
public Response some(@RequestParam(value="body") String user) {
return new Response(user);
}
或这个
@RequestMapping("/some")
public Response some(@RequestParam(value="body") String user,HttpServletResponse
response) {
response.addHeader("Access-Control-Allow-Origin", "*");
return new Response(user);
}
推荐阅读
- arrays - Python尝试使用for循环删除数组中所有出现的元素
- flutter - 如何构建依赖于文本字段值的小部件?
- xcode - Xcode 12.5 - 如何放大调试器字体?
- rxjs - 完成后停止 hot Observable 共享值
- python - 使用嵌套列表计算字典中特定项目的数量
- r - 使用 R 的 Table 函数对按另一个变量分组的数据进行交叉制表
- javascript - 字符串错误上的简单 Webhook 代码“shardCount”?
- python - 尝试使用 Python 请求在 Binance 市场购买 NFT,但无法通过 recaptcha
- froala - 我们可以在 Froala 编辑器的选定区域之后插入图像吗?通过 editor.image.insert() 函数
- reactjs - React-通过useEffect更改道具渲染后组件未更新