我有一个接收DefaultMultipartHttpServletRequest的Grails控制器,如下所示:
def myController() {
DefaultMultipartHttpServletRequest proxyRequest = (DefaultMultipartHttpServletRequest) request
}
此控制器通过接收此请求的一部分充当代理,然后将请求重新发送到另一个目标。
对于非多部分请求,这工作正常,我做了类似的事情:
IProxyService service = (IProxyService) clientFactory.create()
Response response = service.doPOST(proxyRequest.getRequestBody())
其中proxyRequest.getRequestBody()包含一个包含请求有效负载的JSON块。
但是,我不知道如何使用多部分请求有效负载,因为请求正文不再是简单的JSON块,而是类似以下内容(取自Chrome devtools):
如何通过上面的代理服务传递此请求有效负载,其中doPost采用字符串?
答案 0 :(得分:0)
你试过吗
def parameterValue = request.getParameter("parameterName")
获取参数值? 如果您看到DefaultMultipartHttpServletRequest的方法签名,您将看到有单独获取文件和其他参数的方法,因为请求正文已习惯于上传文件并传入其他参数。