Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.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
Javascript Express.js REST API子资源处理_Javascript_Node.js_Api_Rest_Express - Fatal编程技术网

Javascript Express.js REST API子资源处理

Javascript Express.js REST API子资源处理,javascript,node.js,api,rest,express,Javascript,Node.js,Api,Rest,Express,考虑以下(希望是不言自明的)API端点 /categories/ /categories/:cat_id /categories/:cat_id/products /categories/:cat_id/products/:prod_id 使用Express.js 4.x,我创建了两个不同的路由来服务上述端点,类别和产品。这就是我将它们注册到应用程序的方式 app.use('/', root); // Simple default route app.use('/categories', ca

考虑以下(希望是不言自明的)API端点

/categories/
/categories/:cat_id
/categories/:cat_id/products
/categories/:cat_id/products/:prod_id
使用Express.js 4.x,我创建了两个不同的路由来服务上述端点,
类别
产品
。这就是我将它们注册到
应用程序的方式

app.use('/', root); // Simple default route
app.use('/categories', categoriesRoute);
app.use('/categories/:cat_id/products', productsRoute);

这样,我就可以让
/categories/
/categories/:cat\u id/products
/categories/:cat\u id/prod\u id
正常工作。这是我最近的一次。如何在
应用程序上注册我的“类别”和“产品”路由器,以使产品成为类别URL的一部分?

假设产品总是分配给一个类别,删除“/products”,这样你就得到了
/categories/:cat\u id/:prod\u id
。当然,这取决于您的数据结构。我无法获得每个类别的产品列表,这些产品提供在
/categories/:cat_id/products
上,虽然我应该更简洁,如果不是类别的产品,则在
/:cat_id
上显示什么?在
/categories/5/products
上,您可以看到id为5的类别的所有产品。在
/categories/5/products/133
上,您可以看到ID为133的产品的详细信息以及ID为5的类别,那么
/categories/5
上显示了什么?除非
/categories/5
的用例与
/categories/5/products
大不相同,否则我会删除附加页面,同时显示类别及其产品的说明。假设产品总是分配给一个类别,删除“/products”,这样您就得到了
/categories/:cat\u id/:prod\u id
。当然,这取决于您的数据结构。我无法获得每个类别的产品列表,这些产品提供在
/categories/:cat_id/products
上,虽然我应该更简洁,如果不是类别的产品,则在
/:cat_id
上显示什么?在
/categories/5/products
上,您可以看到id为5的类别的所有产品。在
/categories/5/products/133
上,您可以看到ID为133的产品的详细信息以及ID为5的类别,那么
/categories/5
上显示了什么?除非
/categories/5
有一个与
/categories/5/产品
大不相同的用例,否则我会删除附加页面,同时显示类别及其产品的说明。