我想在Groovy中获取服务器URL,如果我在本地环境中部署,我希望它链接到localhost:8080
,但在测试和实时环境中它应该是不同的。有没有办法在我的Groovy服务中执行此操作?
答案 0 :(得分:3)
您的Config.groovy
environments {
development {
grails.config.serverAppURL = YOUR_DEVELOPMENT_MODE_APP_URL
}
production {
grails.config.serverAppURL = YOUR_PRODUCTION_MODE_APP_URL
}
test {
grails.config.serverAppURL = YOUR_TEST_MODE_APP_URL
}
}
在您的服务中访问此网址
Class MyService {
def grailsApplication // inject this service
def testMethod(){
def appUrl = grailsApplication.config.serverAppURL // getting url here
println appUrl
}
}
答案 1 :(得分:0)
配置grails应用程序
environments {
development {
grails.server.url = "localhost:8080"
}
production {
grails.server.url = "http://example.com"
}
test {
grails.server.url = "http://production.com"
}
}
您可以像这样使用Holder获取服务器URL。
class something {
String getAppURL() {
String serverURL = Holders.flatConfig.get("grails.server.url")
return serverURL
}
}