我是 Spring 3.1.0 的新手,正在尝试创建一个应用程序,它可以作为 Web 应用程序和 Web 服务公开。对于我使用@ModelAttribute
. 我还想通过任何海报公开这种可以使用与 XML 相同的对象的方法。
我应该同时使用两者@ModelAttribute
吗@RequestBody
?我已经在@RequestMapping
注释中添加了 consumes 属性。
我是 Spring 3.1.0 的新手,正在尝试创建一个应用程序,它可以作为 Web 应用程序和 Web 服务公开。对于我使用@ModelAttribute
. 我还想通过任何海报公开这种可以使用与 XML 相同的对象的方法。
我应该同时使用两者@ModelAttribute
吗@RequestBody
?我已经在@RequestMapping
注释中添加了 consumes 属性。
当您提交表单时,数据以表单编码的方式出现,而当您使用 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);
}
}
实际上,您甚至可以将其放在一个控制器中。