加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

RESTFUL原理及实现

(2017-10-19 20:03:43)
分类: 系统开发

1.1参考资料

Springmvc构造RESTful详细讲解

http://www.blogjava.net/soken/articles/371548.html

 

Spring RESTful风格url示例

http://www.xdemo.org/spring-restful/

 

SpringMVC+RestFul详细示例实战教程写的比较详细了http://blog.csdn.net/xinyuan_java/article/details/46696703

 

1.2原理

一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。

基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

REST(英文:Representational State Transfer,简称REST)描述了一个架构样式的网络系统,比如 web 应用程序。

在目前主流的三种Web服务交互方案中,REST相比于SOAP(Simple Object Access protocol,简单对象访问协议)以及XML-RPC更加简单明了

REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。

Web 应用程序最重要的 REST 原则是,客户端和服务器之间的交互在请求之间是无状态的。从客户端到服务器的每个请求都必须包含理解请求所必需的信息。如果服务器在请求之间的任何时间点重启,客户端不会得到通知。

所有资源都共享统一的接口,以便在客户端和服务器之间传输状态。使用的是标准的 HTTP 方法,比如 GET、PUT、POST DELETE

另一个重要的 REST 原则是分层系统,这表示组件无法了解它与之交互的中间层以外的组件。

 

1.3程序实现

以下程序基于SpringMVC实现。

 

@Controller

@RequestMapping("/wuser")

public class WuserController {

//1、GET 获取

//(1)获取全部

@RequestMapping(method=RequestMethod.GET)

public ModelAndView index(){}

 

///前端调用方式:

//url=wuser

//2)按ID获取

@RequestMapping(method=RequestMethod.GET,value="{id}")

public ModelAndView viewUser(@PathVariable("id")String id){}

 

//前端调用方式:

//

//2POST 提交/新建

@RequestMapping(method=RequestMethod.POST)

public ModelAndView addUser(Wuser user){}

 

//前端调用方式:

//

//3PUT 更新

@RequestMapping(method=RequestMethod.PUT)

public ModelAndView edit(Wuser user){}

 

//前端调用方式:

//

//

//4DELETE 删除

@ResponseBody

@RequestMapping(method=RequestMethod.DELETE,value="{id}")

public String deleteUser(@PathVariable("id")String id){}

 

//前端调用方式:

 

 

//5、按ID修改

@RequestMapping("{id}/edit")

public ModelAndView toEdit(@PathVariable("id")String id){}

//前端调用方式:

//

 

//6、批量删除 删除的参数由request中取得

@RequestMapping(method=RequestMethod.DELETE)

public ModelAndView batchDelete(HttpServletRequest request,HttpServletResponse response) {}

}

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有