使用HTTPBuilder for HTTPS的Grails REST插件

时间:2013-03-04 01:40:44

标签: rest grails httpbuilder

我的grails服务方法运行正常。

它通过GET请求提取JSON。转移到prod后,我们不得不将协议更改为HTTPS,现在我得到了一个例外。

我是否需要更改才能使用HTTPS协议?我查看了The HTTPBuilder Documentation,我找不到使用HTTPS的单一参考。我也无法在Google上找到一个例子。

            def reportList = new ArrayList()
        def result
        //TODO Dynamic PatientKey
        def http = new HTTPBuilder( 'https://mydomain/servicename?key=' + key )


        reportList = null
        http.request( GET, JSON ) { req ->

          headers.Accept = 'application/json'


          response.success = { resp, reader ->

            reportList = reader.getAt("patientReports")

          }


        }

    }
    [ reportList : reportList ]

2 个答案:

答案 0 :(得分:2)

你得到的例外是什么? 请检查SSL证书是否对网站有效。更多信息。

http://groovy.codehaus.org/modules/http-builder/doc/ssl.html

答案 1 :(得分:0)

此Grails插件解决方案在测试或本地环境中运行良好,因为Same-Origin策略将阻止您实现前端jQuery AJAX调用,因为域不同。

在Prod中,由于使用了HTTPS,并且由于域是相同的,因此jQuery AJAX调用比在控制器中使用逻辑并使用REST插件要好得多。

$.getJSON('${YOUR_URL}', function(data){ var yourData = data.yourData; //Operate on data here });