0

我在 grails 中有一个运行良好的服务方法。

它通过 GET 请求提取 JSON。转到 prod 后,我们不得不将协议更改为 HTTPS,现在我遇到了异常。

要使用 HTTPS 协议,我有什么需要更改的吗?我翻遍了HTTPBuilder 文档,但找不到使用 HTTPS 的单一参考。我在谷歌上也找不到一个例子。

            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 ]
4

2 回答 2

2

你得到什么异常?请检查 SSL 证书是否对该网站有效。更多在这里。

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

于 2013-03-04T05:13:19.370 回答
0

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

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

$.getJSON('${YOUR_URL}', function(data){ var yourData = data.yourData; //Operate on data here });
于 2013-03-11T14:48:17.157 回答