代码之家  ›  专栏  ›  技术社区  ›  Rodin10

在grails服务中获取特定于环境的服务器应用程序URL

  •  1
  • Rodin10  · 技术社区  · 6 年前

    我希望在Groovy中获取服务器URL,如果我在本地环境中部署,我希望它链接到 localhost:8080 但在测试和现场环境上应该有所不同。在我的Groovy服务中有什么方法可以做到这一点吗?

    2 回复  |  直到 6 年前
        1
  •  4
  •   Nitin Dhomse    6 年前

    您的配置。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
        }
    }
    

    在您的服务中访问此url

    Class MyService {
       def grailsApplication // inject this service
    
       def testMethod(){
        def appUrl = grailsApplication.config.serverAppURL // getting url here
        println appUrl
       }
    
    }
    
        2
  •  0
  •   Viplav Soni    4 年前

    grails应用程序的配置

    environments {
        development {
             grails.server.url = "localhost:8080"
        }
        production {
             grails.server.url = "http://example.com"
        }
        test {
             grails.server.url = "http://production.com"
        }
    }
    

    您可以使用这样的持有者获取服务器URL。

    class something {
    
        String getAppURL() {
          String serverURL = Holders.flatConfig.get("grails.server.url")
          return serverURL
        }
    }