-
Notifications
You must be signed in to change notification settings - Fork 38.8k
Closed
Labels
in: webIssues in web modules (web, webmvc, webflux, websocket)Issues in web modules (web, webmvc, webflux, websocket)type: taskA general taskA general task
Milestone
Description
Affects: \5.1.9.RELEASE
given:
public abstract class AbstractestController {
@ModelAttribute("checkC")
public void checkC() {
int a = 0;
}
}
public abstract class AbstracterController extends AbstractestController {
@ModelAttribute("checkB")
public void checkB(@ModelAttribute("checkC") Void o) {
int a = 0;
}
}
public abstract class AbstractController extends AbstracterController {
@ModelAttribute("checkA")
public void checkA(@ModelAttribute("checkB") Void checkB) {
int a = 0;
}
}
@RestController
public class TestController extends AbstractController {
@PostMapping("/test")
public void test() {
}
}When POSTing to /test I expect all three check methods to be called. However checkB is not called.
Workaround:
public abstract class AbstractestController {
@ModelAttribute("checkC")
public Object checkC() {
int a = 0;
return new Object();
}
}
public abstract class AbstracterController extends AbstractestController {
@ModelAttribute("checkB")
public Object checkB(@ModelAttribute("checkC") Object o) {
int a = 0;
return o;
}
}
public abstract class AbstractController extends AbstracterController {
@ModelAttribute("checkA")
public Object checkA(@ModelAttribute("checkB") Object o) {
int a = 0;
return o;
}
}
@RestController
public class TestController extends AbstractController {
@PostMapping("/test")
public void test() {
}
}Metadata
Metadata
Assignees
Labels
in: webIssues in web modules (web, webmvc, webflux, websocket)Issues in web modules (web, webmvc, webflux, websocket)type: taskA general taskA general task