【问题标题】:Grails REST plugin using HTTPBuilder for HTTPS使用 HTTPBuilder 进行 HTTPS 的 Grails REST 插件
【发布时间】:2013-03-04 01:40:44
【问题描述】:

我在 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 ]

【问题讨论】:

  • 有什么例外?

标签: rest grails httpbuilder


【解决方案1】:

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

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

【讨论】:

  • 感谢您的参考。然而,我们最终选择了一个前端 jQuery 解决方案。
【解决方案2】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-06
    • 2015-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多