当您提交表单时,数据以表单编码的方式发送,而当您使用XML/JSON时,它以字符串形式出现在主体中。你最好把所有的通用逻辑放到中间服务层,并在你的控制器中调用它。因此,它可以让你简单地在现有的HTML页面上构建REST服务与形式:
public class Service {
public void registerUser(User user){
}
}
@RequestMapping("users")
public class FormController{
@Autowired private Service service;
@RequestMapping("register")
public ModelAndView registerUser(@ModelAttribute User user){
service.registerUser(user);
}
}
@RequestMapping("service/v1")
public class RESTController{
@Autowired private Service service;
@RequestMapping("users/register")
public ModelAndView registerUser(@RequestBody User user){
service.registerUser(user);
}
}
事实上,你甚至可以把它放进一个控制器。
嘿谢谢,但我已经想过这个,但是这会像再次创建一个类似的方法,这实际上打败了整个讨论的目的。我不太确定单独的方法是否是唯一的出路。 。 – vaibhav