小编Ser*_*iel的帖子

Play Framework 2.3 - CORS标题

更新新的Play 2.5提供了一个新的CORS过滤器

随着新的2.3 Java版本完成将Response类迁移到Promise类,以下代码不再有效.

public class CorsAction extends Action.Simple {

 public Result call(Context context) throws Throwable{ 
 Response response = context.response(); 
 response.setHeader("Access-Control-Allow-Origin", "*"); 
 //Handle preflight requests 
 if(context.request().method().equals("OPTIONS")) { 
   response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE"); 
   response.setHeader("Access-Control-Max-Age", "3600"); 
   response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-    Type, Accept, Authorization, X-Auth-Token"); 
   response.setHeader("Access-Control-Allow-Credentials", "true"); 
   response.setHeader("Access-Control-Allow-Origin", "*"); 
 return ok() 

 } 

 response.setHeader("Access-Control-Allow-Headers","X-Requested-With, Content-Type, X-    Auth-Token"); 
 return delegate.call(context); 
 } 
}
Run Code Online (Sandbox Code Playgroud)

我正在开发Play(Java)2.3中的应用程序,我已经查看并尝试了不同的方法来启用CORS - 包括向路由文件添加/ OPTIONS方法 - 但没有成功.

我非常感谢新的Response实现如何处理这种类型的拦截,因为在新的Promise类中实现时,它似乎没有对头文件产生任何影响.

在此先感谢所有的帮助!!

java playframework

6
推荐指数
2
解决办法
1万
查看次数

标签 统计

java ×1

playframework ×1