对资源的增,删,改,查操作,其实都可以通过GET/POST完成,不一定要用PUT和DELETE。
一:Jersey框架,实现了restful风格,常用的注解@GET、@POST、@PUT、@DELETE如下:
@GET:
对应get请求
作用:标识该操作是用于获取服务端的资源,可以理解为select操作
特点:GET方式提交的数据最多只能是2KB字节;数据通过browser地址栏进行传递,用户信息会暴露在browser地址了,不安全
@POST:
对应post请求
作用:用于向服务端新增数据,常用于提交表单。可以理解为insert操作
特点:理论上POST方式,对提交的数据大小没有限制;数据通过http协议的body体中进行传递,不会暴露用户信息,相对安全
@PUT:
对应put请求
作用:用于向服务端更新数据,与post的使用很相似。可以理解为update操作
@DELETE:
对应delete请求
作用:标识该操作是:用于删除服务端的资源,可以理解为delete操作
二:@HEAD:
作用:只请求页面首部,响应报文中没有实体的主体部分(没有body体)
与@GET的区别如图:
三:注:可能在一个操作里,还会涉及到相关联的一系列操作,那么按照最初的操作来定义请求。
eg:修改出生birthDate,应该是对应的put请求;但是又关联修改年龄age,还新增insert或者删除delete关联的数据(可能不符合逻辑),此时有是post、delete的请求方式。但是我们方法对应的请求只能有一个,我们会使用最初的put请求,因为后面的相关操作都是在修改birthDate的基础上来展开的,我们只需要给出最初的请求方式即可。