Node.JS / Express-使用URL参数获取公司产品

阿达贝托·费雷拉

我正在尝试使用RESTful API从我的应用程序中的特定公司检索产品。

我正在尝试使用的GET方法是这样的:

http://localhost:3333/company/:company_id/products

所以我尝试了这种方法:

const routes = Router();

const company = `/company/:company_id`;
routes.use(`${company}/products`, productsRouter);

export default routes;

然后,在产品路由器内部,添加了以下内容:

const productsRouter = Router();
const productsController = new ProductsController();

productsRouter.get('/', productsController.index);

export default productsRouter;

如果我尝试通过浏览器或Insomnia访问路由,则可以正确找到该路由,但是无法:company_id从第一个路由获取参数。当我设法得到它,但都request.paramsrequest.query任何回报:

public async index(request: Request, response: Response): Promise<Response> {
    const { company_id } = request.params;
    const listProducts = container.resolve(ListProductsService);
    const products = await listProducts.execute(company_id);
    return response.json(products);
  }

关于如何处理这种情况有什么想法?

加布里埃莱·彼得里奥利(Gabriele Petrioli)

mergeParams路由器的使用选项。

mergeParams

保留req.params来自父路由器值。如果父项和子项的参数名称冲突,则子项的值优先。

默认值false

const productsRouter = Router({mergeParams: true});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在node.js和Express中使用URL参数

来自分类Dev

Node.js-Express.js URL参数验证

来自分类Dev

通过Express从Node.js获取数据

来自分类Dev

Node.js + Express:重写URL路径

来自分类Dev

如何在Express Node JS中获取删除请求的参数

来自分类Dev

使用Node.js Express的SEO

来自分类Dev

使用Express模块安装Node.js

来自分类Dev

使用Node JS Express的IMS LTI实现

来自分类Dev

使用Node.js Express的Rest API

来自分类Dev

如何使用Node JS Express响应xml?

来自分类Dev

使用Node.js Express的SEO

来自分类Dev

使用Node.js + Express的全局对象

来自分类Dev

使用Express模块安装Node.js

来自分类Dev

使用Node Express JS下载文件

来自分类Dev

在Node.js中获取URL的响应(express / http)

来自分类Dev

获取 URL 时 Node Js Express 静态文件失败

来自分类Dev

无法在 node express js 中获取 url 作为查询字符串参数

来自分类Dev

Node JS:Express入门

来自分类Dev

无法使用Node.js和Express捕获POST参数

来自分类Dev

我对express.node.js的参数使用冒号

来自分类Dev

无法使用Node.js和Express捕获POST参数

来自分类Dev

Node.js-使用Express获取原始请求正文

来自分类Dev

使用Node JS从URL导入JSON文件(Express)

来自分类Dev

使用Node JS和Express JS的HTTPS请求缓慢?

来自分类Dev

使用node.js express正确渲染js对象

来自分类Dev

Express JS 获取参数

来自分类Dev

在node.js / express中处理<select>表单参数

来自分类Dev

具有参数的Node.js和Express路由

来自分类Dev

Node.js,Express无法路由参数化的GET请求