如果我有以下内容...
@PostMapping(
consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE
)
public String addShift(HttpServletRequest request){
Map<String, String[]> parameterMap = request.getParameterMap();
return "redirect:/";
}
我在请求中看到了发送的值。如果我尝试以下操作并将请求更改为JSON,这似乎可以正确映射...
@PostMapping(
consumes = MediaType.APPLICATION_JSON_VALUE
)
public String addShift(@RequestBody VolunteerShift shift){
System.out.println(shift.getTitle());
return "redirect:/";
}
但是当我不能使用JSON提交表单时,我将不得不编写XMLHTTPRequest(如果我只能使用普通的提交,这似乎效率很低)。因此,我尝试使用常规的Submit,但是当我尝试类似的操作时...
@PostMapping(
consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE
)
public String addShift(VolunteerShift shift){
...
return "redirect:/";
}
这些值不会被映射,并且为空。有没有一种方法可以映射表单值,而无需在客户端将其转换为JSON?