url - GRAILS URL参数的简短格式

标签 url post grails groovy parameters

我知道在GRAILS / GROOVY中

def content=urlrestservicestring.toURL().getBytes(requestProperties: ['User-Accepted': username])
是一种具有所有字节内容的简短格式(例如,用于PDF下载),但我不知道URL的所有请求属性都可用于更丰富的连接,例如用于POST方法(这是GET调用)的有效负载json。可能吗?以何种方式?

最佳答案

看起来每个requestProperties只能设置请求 header ,这可能对简单情况有用。
另一方面,如果要执行更复杂的操作(例如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
}
另请参阅ref-doc

关于url - GRAILS URL参数的简短格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63071457/

相关文章:

html - Github 如何在没有标签的情况下进行 pushState?

javascript - 为什么不能提交未呈现的表单?

json - 服务器可以通过 POST 发送带有 EventSource 传递参数的事件 (SSE)

grails - 如何在 grails 3.1.8 中从外部文件加载数据源配置?

java - 如何使 Java URI 类停止使用文件

Java - 从另一个类输入字符串时出现 MalformedURLException,但在粘贴相同的字符串时不会出现异常

c# - 带有 '@'(在符号处)的 HttpClient 访问 url

jquery - AJAX POST 无法更新 MySQL 数据库的问题

grails - 如何覆盖默认的 Grails 环境?

Grails:如何使用命令对象验证由项目列表组成的 POST 正文?