我有一个接受类型多部分表单数据的方法。其中一个参数,这个方法是一个file
表单数据PARAM,但不提供表单数据PARAM file
通过泽西岛多部分表格数据默认值?
@FormDataParam("file") InputStream inputStream,
@FormDataParam("file") FormDataContentDisposition contentDispositionHeader
我希望能够有时打这个端点所示,但现在,当我离开它的方法立即返回400错误的请求。有没有办法可以设置它,以便我可以放弃它?或者有什么方法可以为此设置一个默认值(即为空?)。任何帮助,将不胜感激。我的方法声明如下:
@POST
@Path("/publish")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response publish(@Auth Key key,
@QueryParam("email") String email,
@HeaderParam("password") String password,
@QueryParam("type") PublishType type,
@QueryParam("message") String message,
@FormDataParam("file") InputStream inputStream,
@FormDataParam("file") FormDataContentDisposition
contentDispositionHeader,
@FormDataParam("title") @DefaultValue("") String videoTitle) {
// code here
}
最后,我想创建一个端点,其中用户可以发布文本到一个数据库,并可选包括图像或某些类型的媒体。让我知道,如果有另一种方式,我可以做到这一点。
谢谢!
[I不能再现的问题](https://gist.github.com/psamsotha/eb30d0e659a2cb6c09dbcd0d712417ee)。你使用什么泽西版本? –
@peeskillet我相信我正在使用版本2.23.2。但我认为你的例子中的差异可能是你仍然在请求中发布表单数据。与我的,当我尝试击中没有表单数据的端点时,只有查询参数和头部参数,它返回400. – Rohan
如果它是电子邮件和其他东西作为查询参数没有太大意义一个帖子。你为什么不把它们添加为表单域。这是多部分意味着什么。 –