什么是Restfull API
- Rest 指的是一组架构约束条件和原则,提供了一个新的架构设计思路,满足这些约束条件和原则的应用程序或设计就是 RESTful
在REST规则中,有两个基础概念:对象、行为
- 对象:就是我们要操作的对象,例如添加用户的操作,那么对象就是user
- 行为:有4种常用的
- GET - 查看
- POST - 创建
- PUT - 编辑
- DELETE - 删除
为什么用Restfull API
-
在常用的MVC结构中,前后端的融合比较紧密,用户访问一个网址,到相应的Contoller方法中处理请求,然后返回数据,最后使用页面模板来输出显示给用户
-
以前用户主要就是用浏览器访问,这样的结构没什么问题,但现在移动客户端越来越重要,显然不能使用这个结构,需要为移动客户端开发接口
-
RESTful API 就可以通过一套统一的接口为所有客户端提供web服务,实现前后端分离
-
再比如在一个大型系统中,可能是多种开发语言一起工作,使用 RESTful API 就可以完全不关心开发语言,以标准的接口来协同工作
Restfull API是怎么定义的
- Restfull API的风格非常简洁、统一、明确:例如:
@Controller
@RequestMapping("/rest")
publicclass RestController {
@RequestMapping(value="/user/{id}",method=RequestMethod.GET)
publicString get(@PathVariable("id") Integer id){
System.out.println("get"+id);
return"/hello";
}
@RequestMapping(value="/user/{id}",method=RequestMethod.POST)
publicString post(@PathVariable("id") Integer id){
System.out.println("post"+id);
return"/hello";
}
@RequestMapping(value="/user/{id}",method=RequestMethod.PUT)
publicString put(@PathVariable("id") Integer id){
System.out.println("put"+id);
return"/hello";
}
@RequestMapping(value="/user/{id}",method=RequestMethod.DELETE)
publicString delete(@PathVariable("id") Integer id){
System.out.println("delete"+id);
return"/hello";
}
}
原文:https://www.jianshu.com/p/b06d28456961