Spring RestController POST 接受基本 HTML 表单
Spring RestController POST accepting a basic HTML form
我正在尝试 post 一个简单的 HTML 表单到 Spring RestController 使用 @ModelAttribute 和 MediaType.APPLICATION_FORM_URLENCODED_VALUE 作为消耗的数据类型。我已经仔细检查了所有与我的请求 bean 匹配的表单字段。
当请求进入映射方法时,所有的请求bean字段都为空。
@RestController
@EnableWebMvc
public class WebServiceController {
@RequestMapping(
value = "/test",
method = RequestMethod.POST,
consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
public ResponseEntity<?> post(@ModelAttribute FormBean request){
// request.getParam() == null
return ResponseEntity.ok().build();
}
}
public class FormBean {
private String param1;
public String getParam1() {
return param1;
}
public void setParam1(String param1) {
this.param1 = param1;
}
}
<html>
<head>
<title>Test Form</title>
</head>
<body>
<form action="/test" method="POST">
<input type="text" id="param1">
<button type="submit">Submit</button>
</form>
</body>
</html>
您在 HTML 输入中缺少 name
属性,id
属性在发布 HTML 表单时毫无意义
<input type="text" name="param1">
我正在尝试 post 一个简单的 HTML 表单到 Spring RestController 使用 @ModelAttribute 和 MediaType.APPLICATION_FORM_URLENCODED_VALUE 作为消耗的数据类型。我已经仔细检查了所有与我的请求 bean 匹配的表单字段。
当请求进入映射方法时,所有的请求bean字段都为空。
@RestController
@EnableWebMvc
public class WebServiceController {
@RequestMapping(
value = "/test",
method = RequestMethod.POST,
consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
public ResponseEntity<?> post(@ModelAttribute FormBean request){
// request.getParam() == null
return ResponseEntity.ok().build();
}
}
public class FormBean {
private String param1;
public String getParam1() {
return param1;
}
public void setParam1(String param1) {
this.param1 = param1;
}
}
<html>
<head>
<title>Test Form</title>
</head>
<body>
<form action="/test" method="POST">
<input type="text" id="param1">
<button type="submit">Submit</button>
</form>
</body>
</html>
您在 HTML 输入中缺少 name
属性,id
属性在发布 HTML 表单时毫无意义
<input type="text" name="param1">