码迷,mamicode.com
首页 > 编程语言 > 详细

SpringMVC Rest风格

时间:2020-05-12 15:28:00      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:BMI   cti   删除   web   ring   post   val   也会   基本   

对资源的操作,基本都不外乎增删改查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等来区别是增删改查中的哪个操作

  具体代码如下:

@Controller
public class RestController {

    @RequestMapping(value = "book/{id}" ,method = RequestMethod.GET)
    public String query(Model model, @PathVariable int id){

        model.addAttribute("msg","查询"+id+"号图书");
        return "restFul";
    }

    @RequestMapping(value = "book/{id}" ,method = RequestMethod.DELETE)
    public String delete(Model model, @PathVariable int id){

        model.addAttribute("msg","删除"+id+"号图书");
        return "restFul";
    }

    @RequestMapping(value = "book/{id}" ,method = RequestMethod.PUT)
    public String update(Model model, @PathVariable int id){

        model.addAttribute("msg","更新"+id+"号图书");
        return "restFul";
    }

    @RequestMapping(value = "book/{id}" ,method = RequestMethod.POST)
    public String add(Model model, @PathVariable int id){

        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风格

标签:BMI   cti   删除   web   ring   post   val   也会   基本   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!