我正在使用Jersey JAX-RS 参考实现在 Scala 中开发 REST Web 服务,但遇到了一个奇怪的错误。
我正在尝试使用ContentDisposition.ContentDispositionBuilder创建一个ContentDisposition对象。
ContentDisposition.ContentDispositionBuilder
有两种类型T extends ContentDisposition.ContentDispositionBuilder
和V extends ContentDisposition
。该方法返回一个type
构建ContentDisposition
器实例。
编码
val contentDisposition = ContentDisposition.`type`(MediaType.APPLICATION_OCTET_STREAM).build()
但是有效
val contentDisposition = ContentDisposition.`type`(MediaType.APPLICATION_OCTET_STREAM).fileName("dummy").build()
产生编译器错误
error: value build is not a member of ?0
val contentDisposition = ContentDisposition.`type`(MediaType.APPLICATION_OCTET_STREAM).fileName("dummy").build()
^
(请注意,type
需要放在“引号”中,因为它是 Scala 中的关键字)
fileName
ofContentDispositionBuilder
返回一个实例,T
所以这实际上应该有效。
我不明白这个。任何想法?顺便说一句,我正在使用 Scala 2.9.0.1。
更新:
这行得通。但是为什么我需要在这里进行选角?
val contentDisposition = ContentDisposition.`type`(MediaType.APPLICATION_OCTET_STREAM)
.fileName("dummy")
.asInstanceOf[ContentDisposition.ContentDispositionBuilder[_,_]]
.build()