之前我们已经用 Express 应用框架定义了几个支持用 HTTP 的 GET 方法使用的接口,用的就是 app.get() 这个方法。要定义支持其它的 HTTP 方法使用的接口,可以使用 Express 提供的另外几个方法。比如 app.post() 可以定义支持用 POST 方法使用的接口,app.patch() 可以定义支持用 HTTP 的 PATCH 方法使用的接口,用 app.delete() 可以定义支持用 DELETE 这种方法使用的接口。
在应用里面我们可以根据应用里的内容资源,分别定义一下跟这个资源相关的一些接口。比如我们要做的是一个照片分享应用,用户发的贴子就是应用里的一种内容资源,可以使用 Post 这个单词表示这种资源,因为它有贴子的意思,可以用它表示用户发布的内容。
针对这种资源可以定义一系列的内容接口,接口的地址一般会使用资源名字的复数形式,这里就是 posts。 接口的地址都是一样的,也就是资源名字的复数形式,但是接口支持不同的 HTTP 方法使用。
比如发布资源用的接口一般会选择使用 HTTP 的 POST 方法来使用。在 Express 框架里,可以使用 app.post() 这个方法定义这种接口,接口的地址就是资源名字的复数形式,比如 posts。
在客户端那里可以把要发布的内容放在请求的主体里面,然后在这个接口的处理器里面,可以得到请求里的主体数据,然后把数据存储在自己的数据仓库里。
更新资源用的接口可以选择使用 PUT 或者 PATCH 这两种 HTTP 方法使用。定义这样的接口可以用一下 app.put() 或者 app.patch() 这两个方法。
接口的地址是内容资源的复数形式,再加上一个内容资源的 ID 参数。客户端可以在请求里把要更新的内容发给这个接口,然后接口的处理器会根据地址参数里的内容资源的 ID 号,更新对应的内容。
删除资源接口一般选择使用的是 HTTP 的 DELETE 这种方法来使用。定义这种接口用的是 app.delete() 这个方法。接口的地址是资源名字的复数形式,加上要资源的 id 参数,这样在接口里就可以根据这个参数的值,删除掉对应的内容资源。
获取资源列表用的接口可以选择使用 HTTP 的 GET 这种方法来使用,接口地址是资源名字的复数形式。
获取单个资源用的接口也可以用 HTTP 的 GET 方法来使用,接口地址就是资源名字的复数形式,加上一个资源内容的 ID 参数。这样接口就可以根据这个参数的值从自己的数据仓库里,得到这个内容数据,再把它发给客户端。