【发布时间】:2017-10-29 02:50:00
【问题描述】:
我正在尝试将 @GrailsCompileStatic 应用于具有从请求中检索 MultipartFiles 的操作的控制器:
request.getFile('foo')
但是得到以下内容:
[静态类型检查] - 找不到匹配方法 javax.servlet.http.HttpServletRequest#getFile(java.lang.String)
是否有机会强制编译器针对 AbstractMultipartHttpServletRequest(具有 getFile(java.lang.String) 方法)而不是 HttpServletRequest 验证请求?
UPD 此解决方案有效:
MultipartFile multipartFile = ((StandardMultipartHttpServletRequest) request).getFile('myFile')
但在尝试测试时有一些奇怪的行为:
org.codehaus.groovy.runtime.typehandling.GroovyCastException: 不能 铸造对象 'org.grails.plugins.testing.GrailsMockHttpServletRequest@2bcf856f' 使用类“org.grails.plugins.testing.GrailsMockHttpServletRequest” 上课 'org.springframework.web.multipart.support.StandardMultipartHttpServletRequest'
【问题讨论】:
标签: grails groovy multipart static-compilation