1、先建立两个实体类
book实体
/**
* @author ppf
* @date 2020/7/7 11:36 下午
*/
public class Book {
private String name;
private String price;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
@Override
public String toString() {
return "Book{" +
"name='" + name + '\'' +
", price='" + price + '\'' +
'}';
}
}
Author实体
/**
* @author ppf
* @date 2020/7/7 11:36 下午
*/
public class Author {
private String name;
private String age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
@Override
public String toString() {
return "Book{" +
"name='" + name + '\'' +
", age='" + age + '\'' +
'}';
}
}
2、建立一个contorller
/**
* @author ppf
* @date 2020/7/7 11:37 下午
*/
@RestController
public class BookController {
@PostMapping("/book")
public void addbook(Book book,Author author){
System.out.println(book);
System.out.println(author);
}
}
3、然后用postman
Book{name=‘斗破英雄,天蚕骚年’, price=‘888’}
Book{name=‘斗破英雄,天蚕骚年’, age=‘10’}
这么显示是有问题的
然后
public void addbook(@ModelAttribute(“b”) Book book, @ModelAttribute(“a”) Author author){
**
* @author ppf
* @date 2020/7/7 10:59 下午
*/
@ControllerAdvice
public class GlobalData {
@InitBinder("a")
public void initA(WebDataBinder webDataBinder){
webDataBinder.setFieldDefaultPrefix("a.");
}
@InitBinder("b")
public void initB(WebDataBinder webDataBinder){
webDataBinder.setFieldDefaultPrefix("b.");
}
最后结果则为
2020-07-08 00:00:09.425 INFO 996 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2020-07-08 00:00:09.433 INFO 996 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Completed initialization in 8 ms
Book{name='斗破英雄', price='888'}
Book{name='天蚕骚年', age='10'}