我基本上想知道的是:
假设我有一个用@RequestMapping注释并且值为“ / test / ajax”的方法。我可以使该特定方法只能由内部调用访问,而不能由客户端访问吗?如果我从服务器内部对该URL运行ajax请求,它应该可以正常工作,但是如果我直接从浏览器中运行,它应该返回403。
这有可能吗?
答案 0 :(得分:0)
例如在控制器层上添加spring注释@CrossOrigin 另外,请按照给定的链接https://spring.io/blog/2015/06/08/cors-support-in-spring-framework
@CrossOrigin
@RestController
@RequestMapping("/account")
public class AccountController {
@GetMapping("/{id}")
public Account retrieve(@PathVariable Long id) {
// ...
}
@DeleteMapping("/{id}")
public void remove(@PathVariable Long id) {
// ...
}
}
如果只允许这样的方法传递
@RestController
@RequestMapping("/account")
public class AccountController {
@CrossOrigin
@GetMapping("/{id}")
public Account retrieve(@PathVariable Long id) {
// ...
}
@DeleteMapping("/{id}")
public void remove(@PathVariable Long id) {
// ...
}
}