解决scala使用play框架跨域问题

1. 如果play框架是2.5

1.1添加一个新类

 
package filters

import javax.inject.Inject
import play.api.http.DefaultHttpFilters
import play.filters.cors.CORSFilter

class CorsFilter @Inject()(corsFilter: CORSFilter)
  extends DefaultHttpFilters(corsFilter)
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

1.2 在application.conf中添加

play.http.filters = filters.CorsFilter

play.filters {
  cors {
    # Filter paths by a whitelist of path prefixes
    pathPrefixes = ["/"]
    # The allowed origins. If null, all origins are allowed.
    allowedOrigins = null
    # The allowed HTTP methods. If null, all methods are allowed
    allowedHttpMethods = ["GET", "POST"]
  }
}
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

1.3 在build.sbt中添加

libraryDependencies += filters
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

2. 如果play框架是2.6

2.1 在application.conf中添加

lay.filters.enabled += "play.filters.cors.CORSFilter"

play.filters.cors {
  allowedOrigins = null
}
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

2.2 在project的plugin.sbt中添加play版本 2.6.10以下好像有问题 具体可以参考 https://github.com/playframework/playframework/issues/8600

addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.6.17")
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

2.3 在build.sbt中添加

libraryDependencies += guice
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

添加以上方式就可以了

如果需要在本地测试可以使用 

1,进入cmd命令行

Python2 版本输入: python -m SimpleHTTPServer 8000

Python3 版本输入: python -m http.server 8000

2,在浏览器输入:127.0.0.1:8000 就可以访问计算机文件了

原文在这里 https://blog.csdn.net/a649344475/article/details/80796828

前端代码




	
	test
	
	
	




 

你可能感兴趣的:(scala)