【发布时间】:2020-01-03 22:04:05
【问题描述】:
我正在将 Spring Boot 应用程序升级到 2.0 版,并将 Spring Framework 升级到 5.1 版。
应用程序当前使用 Spring 内置的 JSONP 支持,使用 AbstractJsonpResponseBodyAdvice。
@ControllerAdvice
public class JsonpControllerAdvice extends AbstractJsonpResponseBodyAdvice {
public JsonpControllerAdvice() {
super("jsonp");
}
}
但是,JSONP 支持是 deprecated in version 5.0.7 and removed in version 5.1 RC1。另外,此时切换到CORS也不可行。
最后一个警告是 JavaScript 回调方法必须以 /**/ 开头。例如(截断):
/**/jQuery1720351297557893959_1567180700293(...)
我已尝试使用 jsonp-filter,但无法将回调配置为包含 /**/。
如何在回调前添加 /**/ 创建自定义 Spring Boot JSONP 过滤器?
注意:我的例子类似于Spring Boot: Remove /**/ before JSONP callback function name。但我无法删除 /**/,因为现有的前端代码在回调中需要它。
【问题讨论】:
标签: spring spring-boot jsonp