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

springMVC-RESTful

时间:2018-05-27 10:41:06      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:span   seda   原则   分享   方法   不同   app   class   客户   

 

概述

REST:Representational State Transfer(表述性状态转移)

作用:架构约束条件和原则

核心

1、  资源与URI

2、  资源的表述

3、  状态的转移

特点

1、  统一客户端访问资源的接口

2、  有利不同系统之间的资源共享

3、  URL更简洁,易于理解和扩展

 

REST下的http协议的四种形式

 

rest:直接跟值,不需要键值对的形式传递

 技术分享图片

 

get:获取资源-------select用-------@GetMapping

 

缩写:@RequestMapping(method = RequestMethod.GET)

 

post:新建资源-------insert用-------@PostMapping

 

put:修改资源------update用-------@PutMapping

 

delete:删除资源-------delete用-------@DeleteMapping

 

在springMVC中使用步骤:

 

1、将post请求转换为put和delete请求

 

配置filter

1 <filter>
2     <filter-name>hiddenHttpMethodFilter</filter-name>
3     <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
4 </filter>
5 
6 <filter-mapping>
7     <filter-name>hiddenHttpMethodFilter</filter-name>
8     <url-pattern>/*</url-pattern>
9 </filter-mapping>

在jsp页面设置请求类型

get和post请求在处理时不需要特别处理,但是put和delete在请求时jsp页面没有对应的方法,需要我们手动设置隐藏属性

Put请求

1 <input type="hidden" name="_method" value="PUT"/>

Delete请求

1 <input type="hidden" name="_method" value="DELETE"/>

 

2、在controller层时,通过mapping映射规定请求类型,只有指定的类型可以进入

 

 insert:

1 @PostMapping(value = "/add")
2     public String add(Course course){
3         courseDAO.add(course);
4         return "redirect:/getAll";
5     }

update:

1 @PutMapping(value = "/update")
2     public String update(Course course){
3         courseDAO.update(course);
4         return "redirect:/getAll";
5     }

delete:

1 @DeleteMapping(value = "/delete/{id}")
2     public String delete(@PathVariable(value = "id")  int id){
3         courseDAO.deleteById(id);
4         return "redirect:/getAll";
5     }

select:

1 @GetMapping(value = "/getAll")
2     public ModelAndView getAll(){
3         ModelAndView modelAndView = new ModelAndView();
4         modelAndView.setViewName("index");
5         modelAndView.addObject("courses",courseDAO.getAll());
6         return modelAndView;
7     }

 

springMVC-RESTful

标签:span   seda   原则   分享   方法   不同   app   class   客户   

原文地址:https://www.cnblogs.com/thyHome/p/9094963.html

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