向Rest端点发送内容时出现java错误415(不支持的媒体类型)
我的项目后端有一个Java Jersey类,其目标是使用从ajax前端发送的多部分表单数据。当我发送数据时,我会收到415(不支持的媒体类型),即使内容类型的格式为:
内容类型:多部分/表单数据
我的后端方法配置如下:
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Path("/fileupload")
在这里输入代码
public Response uploadFile(
@FormDataParam("file") FormDataContentDisposition cdh,@FormDataParam("file") InputStream fileStream) {
System.out.println("hello there");
Payment newPayment = new Payment();
return Response.ok().entity(newPayment).build();
}
Ajax代码配置如下:
$.ajax({
url: '/path/api/fileupload',
type: "POST",
data: formData,
processData: false,
contentType: false,
success: function(response) {
alert("hello there")
},
error: function(jqXHR, textStatus, errorMessage) {
alert(errorMessage); // Optional
}
});
我做错了什么
# 1 楼答案
如果contentType设置为false,则可能是REST服务需要多部分表单数据,而您没有发送该显式contentType
@Consumes(MediaType.MULTIPART_FORM_DATA)
意味着您需要传递一个显式的contentType"multipart/form-data"
,您没有传递,而是传递了"false"