1 什么是rest
REST是Representational State Transfer的缩写
维基百科上的表达是可重新表达的状态
REST是设计风格不是标准,按照这个风格设计出的api就叫RESTful API
2 rest的几个特性
1 资源
1 资源:资源这个词在rest中是被省略的主语资源本身是一个具体的信息,
每个资源对应一个全局的资源定位符就是一个URI,资源是整个rest的基础
2 客户端可以对资源进行管理
2 客户端可以对资源进行管理:所有的管理操作都是通过http的action来实现
有4种常用的操作,我们平时常用到的增删改查 对应http的action就是(POST,DELETE,PUT,GET)
3 所有操作都应该是无状态的
3 所有操作都应该是无状态的,也就是说不要使用session
例如:资源,对电视剧进行的操作的例子
这个资源对应的就是前缀+资源名词
URL:http://somehost/tvseries
GET /tvseries 获取电视剧列表
POST /tvseries创建一个新电视剧
GET /tvseries/101获取编号为101的电视剧信息
PUT /tvseries/101修改你编号为101的电视剧信息
DELETE /tvseries/101删除编号为101的电视剧
获取资源的子资源:
GET /tvseries/101/characters获取编号为101的电视剧人物列表
按照rest设计风格设计出来的api是很容易被理解的。
4 登录和退出登录
登录和退出登录虽然是动作,不是资源但是
登录的过程就是向服务器端要一个授权,如果用户名和密码要对了,
服务器端就会给授权,有了授权就可以执行后续响应的操作了,
退出登录则是将授权删除掉。
这里的资源其实就是授权
POST /authorization 登录
DELETE /authorization 退出
5 URI命名
URI命名
/资源名称
/资源名称/{资源ID}
/资源名称/{资源ID}/子资源名称
/资源名称/{资源ID}/子资源名称/{子资源ID}
资源应该是名词,获取资源列表应该是复数。如果要是用拼音则没有单复数。
如果URI包含动词则不是rest风格了,在rest中动词都应该是对应到
HTTP的Action,并且需要把这些动词对应的操作转换成四种增删改查。
如果不是这四种操作则需要考虑一下自己找的操作是不是正确,是不是该
换一个资源。
资源的ID应该是URL的一部分而不是通过queryString传递过来的
3 springboot简述
spring框架功能很强大但是xml配置一直被人们诟病,后来就有了springboot框架
作用很简单,帮助我们实现自动配置,只要在环境中有相应的jar包,spring就会帮我们
自动配置这个jar包,我们也可以通过注解,或者一种简单的配置文件来改变这些缺省的配置,
springboot集成了一个嵌入式的web服务器。最后打包成一个直接运行的
jar包。这样子放到服务器上之后就不需要安装tomcat的web服务器了。
springboot还集成了系统监控这一方面的功能使得开发应用比较简单
spring提供了一个网站,通过这个网站可以快速的开始一个新的项目。
https://start.spring.io 开始下载一个最简单的项目。