如何设计 Spring MVC REST 服务?

2024-01-05

我希望客户端和服务器应用程序使用 REST 服务相互通信。我一直在尝试使用 Spring MVC 来设计它。我正在寻找这样的东西:

  1. 客户端执行 POST 休息服务调用saveEmployee(employeeDTO, companyDTO)
  2. 服务器在其控制器中有类似的 POST 方法saveEmployee(employeeDTO, companyDTO)

这可以使用 Spring MVC 来完成吗?


是的,这是可以做到的。这是 RESTful 控制器的一个简单示例(带有 Spring 注释):

@Controller
@RequestMapping("/someresource")
public class SomeController
{
    @Autowired SomeService someService;

    @RequestMapping(value="/{id}", method=RequestMethod.GET)
    public String getResource(Model model, @PathVariable Integer id)
    {
        //get resource via someService and return to view
    }

    @RequestMapping(method=RequestMethod.POST)
    public String saveResource(Model model, SomeResource someREsource)
    {
        //store resource via someService and return to view
    }

    @RequestMapping(value="/{id}", method=RequestMethod.PUT)
    public String modifyResource(Model model, @PathVariable Integer id, SomeResource someResource)
    {
        //update resource with given identifier and given data via someService and return to view
    }

    @RequestMapping(value="/{id}", method=RequestMethod.DELETE)
    public String deleteResource(Model model, @PathVariable Integer id)
    {
        //delete resource with given identifier via someService and return to view
    }
}

请注意,有多种方法可以处理来自 http-request 的传入数据(@RequestParam、@RequestBody、后置参数到 bean 的自动映射等)。要获得更长、可能更好的解释和教程,请尝试在谷歌上搜索“rest spring mvc”(不带引号)之类的内容。

通常客户端(浏览器)的东西是用 JavaScript 和 AJAX 完成的,我是一名服务器后端程序员,对 JavaScript 不太了解,但是有很多库可以帮助它,例如参见jQuery http://jquery.com/

也可以看看:Spring 3 MVC 中的 REST http://blog.springsource.com/2009/03/08/rest-in-spring-3-mvc/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何设计 Spring MVC REST 服务? 的相关文章

随机推荐