rehtafuoy
rehtafuoy
controller中拦截post请求,源代码的拦截结构如下: app.post('/', (req, res) => {}); 这种方式当然是没有问题的,可以正常的。 但是如果我想拦截的是path不是'/',而是其他的,比如'/api'之类的,又或者我想在同一个controller中去同时拦截注册和登录,预期写法如下: app.post('/api/reg', (req, res) => {}); app.post('/api/login', (req, res) => {}); 这种方式处理的话,我查了express官方文档,是支持的,官方文档链接如下: https://expressjs.com/en/guide/routing.html  但是实际上,我以app.post('/api', (req, res) => {});这种方式写的时候,根本无法拦截到请求,会直接返回给前端cannot post '/api/xxxxx'之类的。中间我也尝试换了多个写法都不行,只有最初的app.post('/', (req, res)...
api-sign.js里面判断process.env.ApiSign === 'false'这个逻辑是没有用的,因为process.env.ApiSign打印返回的是undefined,上网上查了下,process.env对象的值是不能够直接设置的,只能以如下显示的方式进行设置 import { env } from 'node:process'; env.foo = 'bar'; console.log(env.foo); 参考: http://nodejs.cn/api/process/process_env.html
我这边直接使用项目作为后端部分,然后另外启动一个前端项目A,proxy指向了你这个项目的启动ip地址,调用对应的接口。鉴于项目内使用的东西较多,所以先使用了最简单的接口/api/wx-login,来尝试登录功能。 我觉得逻辑来说,步骤应该是: 1、当前node服务器启动后设置了监听当前项目ip的请求 2、在我的前端项目A发送对应IP请求后,你这个项目监听到对应的req请求 3、根据请求走到了router.js里面找对应的api 4、根据path: '/api/wx-login',调用对应的controller为controller/we-app/getUserInfo 5、在对应controller(getUserInfo)中处理业务,然后调用model层 6、在model层里面去调用类dao层,然后去查数据 但是我实际操作的时候问题是,连controller都没有进。直接被拦截器拦截了,我在网上查了express的app.use使用相关的内容,大概理解为什么被拦截了,不过还是想请教下,从前端请求发送到最后入数据库,除了上面我写的“步骤1-6”,还有什么其他步骤是我忽略的么,有的话能否辛苦补充一下~ 谢谢