• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

SpringMVC Rest风格

开发技术 开发技术 2周前 (05-12) 39次浏览

对资源的操作,基本都不外乎增删改查4个操作

  传统风格:http://i.cnblogs.com/element/add?id=1

       http://i.cnblogs.com/element/update?id=1

       http://i.cnblogs.com/element/delete?id=1

       http://i.cnblogs.com/element/get?id=1

  使用起来繁琐,而且当操作多的时候,起url名字也会变的困难,Rest风格就是来解决这个问题的

  比如我要对一号元素做增删改查的操作

  我只需要url写成http://i.cnblogs.com/element/1  然后通过请求方法的不同  例如:get、post、delete、put等来区别是增删改查中的哪个操作

  具体代码如下:

@Controllerpublic classRestController { @RequestMapping(value= "book/{id}" ,method =RequestMethod.GET)public String query(Model model, @PathVariable intid){ model.addAttribute("msg","查询"+id+"号图书");return "restFul"; } @RequestMapping(value= "book/{id}" ,method =RequestMethod.DELETE)public String delete(Model model, @PathVariable intid){ model.addAttribute("msg","删除"+id+"号图书");return "restFul"; } @RequestMapping(value= "book/{id}" ,method =RequestMethod.PUT)public String update(Model model, @PathVariable intid){ model.addAttribute("msg","更新"+id+"号图书");return "restFul"; } @RequestMapping(value= "book/{id}" ,method =RequestMethod.POST)public String add(Model model, @PathVariable intid){ model.addAttribute("msg","添加"+id+"号图书");return "restFul"; } }

现在问题就剩下 如何让前端.jsp页面发送不同的请求,有以下几步

  1)、在web.xml文件中写好 过滤器   

<filter> <filter-name>HiddenHttpMethodFilter</filter-name> <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class> </filter> <filter-mapping> <filter-name>HiddenHttpMethodFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>

  2)、在.jsp页面中区分好提交请求    

<form action="book/1" method="post"> <input type="submit" value="添加1号图书"> </form> <form action="book/1" method="post"> <label> <input name="_method" value="delete"> </label> <input type="submit" value="删除1号图书"> </form>

 

SpringMVC Rest风格

原文地址:https://www.cnblogs.com/lxy-java/p/12876370.html


程序员灯塔 , 版权所有
转载请注明原文链接:https://www.wangt.cc/2020/05/springmvc-rest%e9%a3%8e%e6%a0%bc/
喜欢 (0)