Java 从';把';要求
因此,我使用ajax通过put请求发送formdataJava 从';把';要求,java,spring,rest,spring-mvc,put,Java,Spring,Rest,Spring Mvc,Put,因此,我使用ajax通过put请求发送formdata formdata.append('img', img); formdata.append('student', JSON.stringify(student)); $.ajax({ url: "/student", data: formdata, dataType: "json",
formdata.append('img', img);
formdata.append('student', JSON.stringify(student));
$.ajax({
url: "/student",
data: formdata,
dataType: "json",
contentType: false,
processData: false,
type: method,
success: function (data) {
console.log(data);
}
})
它工作得很好,但在服务器端,控制器可以接收请求,但无法获取内部的student和img参数
@PutMapping("/student")
@ResponseBody
public String editStudent(HttpServletRequest request){
Student student = null;
String obj = request.getParameter("student"); // obj = null
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.registerModule(new JavaTimeModule());
try {
student = objectMapper.readValue(obj, Student.class);
}catch (Exception e){
return ... }
...
}
我确信post的代码工作没有问题,但是put的代码不能得到请求,但不能得到存储在里面的数据
<filter>
<filter-name>formContentFilter</filter-name>
<filter-class>org.springframework.web.filter.FormContentFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>formContentFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
formContentFilter
org.springframework.web.filter.FormContentFilter
formContentFilter
/*