Java Jersey(rest)使用@FormDataParam上传文件,并且没有文件给出错误的请求
我已经用创建了一个资源,它可以在Java Jersey(rest)使用@FormDataParam上传文件,并且没有文件给出错误的请求,java,rest,jersey,swagger-ui,bad-request,Java,Rest,Jersey,Swagger Ui,Bad Request,我已经用创建了一个资源,它可以在@FormDataParam注释参数中处理文件上载(该资源也配置为接收查询和头参数) 使用进行测试,只要我将文件和其他参数一起发送,一切正常。 但是如果我省略了这些文件,只填写了其他参数,我的Java方法就不会收到请求(我用调试器验证了这一点),相反,它会以400错误请求提前结束 类别声明: @Path("/v1/users") @Produces("application/json") @Api("UploadDocumento") public class
@FormDataParam
注释参数中处理文件上载(该资源也配置为接收查询和头参数)
使用进行测试,只要我将文件和其他参数一起发送,一切正常。但是如果我省略了这些文件,只填写了其他参数,我的Java方法就不会收到请求(我用调试器验证了这一点),相反,它会以
400错误请求
提前结束
类别声明:
@Path("/v1/users")
@Produces("application/json")
@Api("UploadDocumento")
public class UploadDocumentResourcesApiV10 extends CommonResourcesApi {
@Consumes({MediaType.MULTIPART_FORM_DATA})
@POST @Path("{userRef}/documents")
public Response uploadDocuments(
@HeaderParam("X-Api-Token") String apiToken,
@PathParam("userRef") String contactId,
@QueryParam("desc") String uploadDescription,
@QueryParam("file1Desc") String file1Description,
@FormDataParam("file1") InputStream file1, @FormDataParam("file1") FormDataContentDisposition file1Meta,
@QueryParam("file2Desc") String file2Description,
@FormDataParam("file2") InputStream file2, @FormDataParam("file2") FormDataContentDisposition file2Meta) {
方法声明:
@Path("/v1/users")
@Produces("application/json")
@Api("UploadDocumento")
public class UploadDocumentResourcesApiV10 extends CommonResourcesApi {
@Consumes({MediaType.MULTIPART_FORM_DATA})
@POST @Path("{userRef}/documents")
public Response uploadDocuments(
@HeaderParam("X-Api-Token") String apiToken,
@PathParam("userRef") String contactId,
@QueryParam("desc") String uploadDescription,
@QueryParam("file1Desc") String file1Description,
@FormDataParam("file1") InputStream file1, @FormDataParam("file1") FormDataContentDisposition file1Meta,
@QueryParam("file2Desc") String file2Description,
@FormDataParam("file2") InputStream file2, @FormDataParam("file2") FormDataContentDisposition file2Meta) {
我检查了浏览器请求头,特别是内容类型
one,在这两种情况下,它们是相同的
即使是使用的测试也会产生相同的错误
可能有什么问题?您找到解决方案了吗?目前我自己也有这个问题,正在研究答案。@kyle没有,但后来我发现你可以编写等价的servlet过滤器,检查得非常好!谢谢你的回复。我也有同样的问题。我想知道为什么在这个问题上没有太多。为什么我不能让它接受任何FormDataParams?