如何针对 (Spring) 后端测试 Yeoman 前端?
How to test Yeoman frontend against (Spring) Backend?
我有一个带有 AngularJS 的 yeoman 网络应用程序,效果很好!现在我想对后端做一些 Ajax 请求。
localhost:9000 上的 yeoman 应用程序 运行(我 运行 它与 grunt serve
一起使用,这让我可以快速重新加载)
后端 spring 应用程序 运行 在 localhost:8080 上(我 运行 这个与 mvn spring-boot:run
)
用后端测试前端的工作流程是什么?
我总是可以将前端构建代码复制到后端 public 文件夹,但这很耗时。或者我可以做一些跨域 Ajax 尝试,但不确定这是否是正确的方法。
将前端与后端 API 集成以进行测试的最快最简单的方法是什么?
我用 proxy_pass
解决了 Ajax 跨域问题。
只需为您的前端设置一个虚拟主机,然后将 proxy_pass 添加到您的后端。
如果您使用的是 Nginx(Apache 也支持 proxy_pass):
http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass
在你的虚拟主机文件中应该是这样的:
location /api/ {
proxy_pass http://localhost:9000;
}
可以通过 CORS 管理来完成,如下所示:
Spring Cors doc
或
使用 grunt 代理,在你的 gruntfile.js 连接后添加:标记(假设后端在 localhost:9292 上运行)
// The actual grunt server settings
connect: {
server: {
proxies: [
{
context: '/',
host: 'localhost:9292',
changeOrigin: true
}
]
},
...
看这里http://fettblog.eu/blog/2013/09/20/using-grunt-connect-proxy/
我有一个带有 AngularJS 的 yeoman 网络应用程序,效果很好!现在我想对后端做一些 Ajax 请求。
localhost:9000 上的 yeoman 应用程序 运行(我 运行 它与 grunt serve
一起使用,这让我可以快速重新加载)
后端 spring 应用程序 运行 在 localhost:8080 上(我 运行 这个与 mvn spring-boot:run
)
用后端测试前端的工作流程是什么? 我总是可以将前端构建代码复制到后端 public 文件夹,但这很耗时。或者我可以做一些跨域 Ajax 尝试,但不确定这是否是正确的方法。
将前端与后端 API 集成以进行测试的最快最简单的方法是什么?
我用 proxy_pass
解决了 Ajax 跨域问题。
只需为您的前端设置一个虚拟主机,然后将 proxy_pass 添加到您的后端。
如果您使用的是 Nginx(Apache 也支持 proxy_pass): http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass
在你的虚拟主机文件中应该是这样的:
location /api/ {
proxy_pass http://localhost:9000;
}
可以通过 CORS 管理来完成,如下所示: Spring Cors doc
或
使用 grunt 代理,在你的 gruntfile.js 连接后添加:标记(假设后端在 localhost:9292 上运行)
// The actual grunt server settings
connect: {
server: {
proxies: [
{
context: '/',
host: 'localhost:9292',
changeOrigin: true
}
]
},
...
看这里http://fettblog.eu/blog/2013/09/20/using-grunt-connect-proxy/