url - GRAILS URL 参数短格式
问题描述
我知道在 GRAILS/GROOVY
def content=urlrestservicestring.toURL().getBytes(requestProperties: ['User-Accepted': username])
是包含所有字节内容(例如 PDF 下载)的简短形式,但我不知道 URL 可用于更丰富连接的所有请求属性,例如带有有效负载的 POST 方法(这是一个 GET 调用) json。可能吗?以何种方式?
解决方案
看起来requestProperties
您只能设置请求标头,这可能有助于简单的情况。
另一方面,如果你想做一些更复杂的事情,比如 POST,你必须使用适当的 HTTP 客户端。
在 Groovy 中有一个惯用的HTTPBuilder,它非常简单易用,或者 Grails 自己的RESTBuilder
更新:
使用 HTTPBuilder 下载可能如下所示:
import static groovyx.net.http.HttpBuilder.configure
configure {
request.uri = "http://example.org/download"
request.contentType = 'application/json'
}.post {
request.headers.username = 'Scarpanti'
request.body = [ some:'json' ]
Download.toStream delegate, response.outputStream // from grails
// or
// Download.toStream delegate, file
}
另见参考文档
推荐阅读
- javascript - react中的onClick事件在选择时是否有优先级?如果是,你如何改变它们?
- php - Laravel 5.7:Laravel 数据表未与 Composer 一起安装
- php - 在mysql中显示不同时间范围内的不同数据
- c# - 我们如何防止 Rad Autocomplete 接受重复输入?
- php - 我的 sql 语法错误,但我不知道在哪里
- c# - 如何在 Xamarin Forms 中复制 iOS 开关的功能,使其在 iOS 和 Android 中看起来相同?
- ios - ios objective c 小通知横幅,用于没有互联网连接并返回在线,就像 iphone 的 youtube 应用程序一样
- ios - iOS Audio 如何制作颤音或颤音效果
- ios - 是否可以让来自 2 个不同故事板的 2 个视图控制器同时在屏幕上处于活动状态?
- r - 根据数据框中的自定义规则计算总和