### 13.1.5 确定HTTP METHOD 在REST里,HTTP METHOD 常常对应如下含义 * POST 代表增加资源 * PUT 代表更改资源,客户端提供需完整的资源属性 * GET 代表查询资源 * PATCH 更新资源,客户端提供仅需要更改的资源属性 * DELETE,通常用于删除资源 * HEAD,类似GET,但仅仅只有HTTP 头信息,头信息包含了所需要查找的信息 * OPTIONS,用于获取URI所支持的方法,响应信息会在HTTP头中包含一个名为“Allow”的头,值是所支持的方法,如“GET, POST”。 > 在业务系统里,删除往往并不是指物理的删除,而是逻辑删除,资源通常仍然在数据库里,只是状态设置为删除状态 比如新增用户 ~~~java POST http://192.168.0.1/api/v1.1/system/user ~~~ 查询用户id为451 ~~~java GET http://192.168.0.1/api/v1.1/system/user/451 ~~~ 查询所有用户 ~~~java GET http://192.168.0.1/api/v1.1/system/user ~~~ 如果有翻页,可以在后增加类似offset,limit参数,比如 ~~~ GET http://192.168.0.1/api/v1.1/system/user?offset=1&limit=20&sortBy=name&sortOrder=desc ~~~ 更新用户ID为451的用户 ~~~java PUT http://192.168.0.1/api/v1.1/system/user/451 ~~~ 删除用户ID为451的用户 ~~~java DELETE http://192.168.0.1/api/v1.1/system/user/451 ~~~ > 可以为资源标识添加后缀使得REST代码更加容易阅读,比如 > > ~~~java > GET http://192.168.0.1/api/v1.1/system/user/451.json > ~~~ > > 返回id为451的用户信息,返回格式是json。 > > 现在也有一种设计REST URI的方式,把操作也放到uri里,http方法主要采用GET和POST,这个的好处同样是易于阅读