Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Express.js中为创建、更新、获取和删除设置REST API路由?_Api_Rest_Express_Routes - Fatal编程技术网

如何在Express.js中为创建、更新、获取和删除设置REST API路由?

如何在Express.js中为创建、更新、获取和删除设置REST API路由?,api,rest,express,routes,Api,Rest,Express,Routes,我正在构建我的第一个“真正的”应用程序,我正在研究如何构造我的RESTAPI,我想用它作为我的后端 我想知道如何在Express中设计典型的API方法: 得到 职位 创造 更新 我制作了以下代码,它解决了GET、UPDATE和DELETE。但如何实施POST?这是一种体面的做法吗 代码: app.get('/api/serials',function(req,res){ // get all serials code }); app.get('/api/serials/:id',f

我正在构建我的第一个“真正的”应用程序,我正在研究如何构造我的RESTAPI,我想用它作为我的后端

我想知道如何在Express中设计典型的API方法:

  • 得到
  • 职位
  • 创造
  • 更新
我制作了以下代码,它解决了GET、UPDATE和DELETE。但如何实施POST?这是一种体面的做法吗

代码:

app.get('/api/serials',function(req,res){
    // get all serials code
});

app.get('/api/serials/:id',function(req,res){
    // get by id code
});

app.get('/api/serials/:id/update',function(req,res){
    // update code
});

app.get('/api/serials/:id/delete',function(req,res){
    // delete code
});

您可能缺少一个基本概念。RESTful API根据HTTP方法对相同URI的请求做出不同的响应

// So it's NOT this:
app.get('/api/serials/:id/update', updateHandler);
app.get('/api/serials/:id/delete', deleteHandler);

// but rather `PUT` requests for updates
app.put('/api/serials/:id', updateHandler);

// and a `DELETE` requests for deletes
app.delete('/api/serials/:id', deleteHandler);
。。。其中,在资源集合的单个成员上操作的所有请求都被发送到同一URI

对资源集合进行操作的请求将发送到资源的集合或基本URI:

// the READ you already have right
app.get('/api/serials', indexHandler);

// but new resources should be created by POSTing to the collection URI
app.post('/api/serials', createHandler);