當您提交表單時,數據以表單編碼的方式發送,而當您使用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