Express 实现统一 404 JSON 响应应该把中间件放在哪里,为什么?
Express 实现统一 404 JSON 响应应该把中间件放在哪里,为什么? 本文先给出可直接复述的结论,再用最小代码说明Express 404 处理 中间件位置的工作方式、判断依据、项目边界和常见误区。
全栈开发 · Express 服务面试题第 1 页,显示第 1–47 题,共找到 47 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
Express 实现统一 404 JSON 响应应该把中间件放在哪里,为什么? 本文先给出可直接复述的结论,再用最小代码说明Express 404 处理 中间件位置的工作方式、判断依据、项目边界和常见误区。
Express 中 app.use() 和 router.use() 挂载中间件有什么实际差异? 本文先给出可直接复述的结论,再用最小代码说明Express app.use 与 router.use 区别的工作方式、判断依据、项目边界和常见误区。
Express 4 与 Express 5 对异步路由抛错的处理有什么关键差异? 本文先给出可直接复述的结论,再用最小代码说明Express 5 async 错误 自动捕获 Promise的工作方式、判断依据、项目边界和常见误区。
为什么生产环境要给 express.json() 设置 limit,默认值是多少,超出后发生什么? 本文先给出可直接复述的结论,再用最小代码说明Express json limit 413 Payload Too Large的工作方式、判断依据、项目边界和常见误区。
为什么超大文件上传应绕过 express.json 而用 busboy 这类流式解析器,Express 中如何接入? 本文先给出可直接复述的结论,再用最小代码说明Express busboy 流式上传 大文件的工作方式、判断依据、项目边界和常见误区。
没有注册任何错误处理中间件时 Express 的内置默认错误处理器会做什么? 本文先给出可直接复述的结论,再用最小代码说明Express 默认错误处理器 stack trace的工作方式、判断依据、项目边界和常见误区。
Express 错误处理中间件为什么必须是四个参数,写三个为什么不会被错误链调用? 本文先给出可直接复述的结论,再用最小代码说明Express 错误处理中间件 四个参数的工作方式、判断依据、项目边界和常见误区。
Express 4 内置的 express.json() 与以前单独装 body-parser 是什么关系? 本文先给出可直接复述的结论,再用最小代码说明Express express.json body-parser 内置的工作方式、判断依据、项目边界和常见误区。
express-validator 的校验链如何在路由中工作,validationResult 必须在何处读取? 本文先给出可直接复述的结论,再用最小代码说明express-validator validationResult 用法的工作方式、判断依据、项目边界和常见误区。
Express 报错 Cannot set headers after they are sent 的根因是什么,如何定位? 本文先给出可直接复述的结论,再用最小代码说明Express headers already sent 重复响应的工作方式、判断依据、项目边界和常见误区。
Express 部署在终止 TLS 的代理后,为什么直接判断 req.secure 会失效,如何正确做 HTTPS 跳转? 本文先给出可直接复述的结论,再用最小代码说明Express 代理后 HTTPS 重定向 req.secure的工作方式、判断依据、项目边界和常见误区。
客户端发来非法 JSON 时 Express 报什么错,如何统一返回友好 400 而不是 HTML 错误页? 本文先给出可直接复述的结论,再用最小代码说明Express JSON 解析失败 SyntaxError 400的工作方式、判断依据、项目边界和常见误区。
为什么 Express 接口不能直接把 req.body 整体传给数据库层,白名单过滤怎么做? 本文先给出可直接复述的结论,再用最小代码说明Express 批量赋值 白名单 字段过滤的工作方式、判断依据、项目边界和常见误区。
Express 中间件按什么顺序执行,顺序写错会发生什么? 本文先给出可直接复述的结论,再用最小代码说明Express 中间件执行顺序的工作方式、判断依据、项目边界和常见误区。
Express 中间件既不发响应也不调用 next() 会导致什么后果,如何排查? 本文先给出可直接复述的结论,再用最小代码说明Express 中间件忘记调用 next 请求挂起的工作方式、判断依据、项目边界和常见误区。
cors、helmet、compression 这类 Express 中间件分别解决什么问题,挂载顺序有无讲究? 本文先给出可直接复述的结论,再用最小代码说明Express cors helmet compression 中间件顺序的工作方式、判断依据、项目边界和常见误区。
Express 中用 multer 接收上传文件时,memoryStorage 与 diskStorage 各自的适用场景和风险是什么? 本文先给出可直接复述的结论,再用最小代码说明Express multer memoryStorage diskStorage 区别的工作方式、判断依据、项目边界和常见误区。
在 Express 接口设计中,multipart/form-data 直传与 JSON 内嵌 base64 各有什么代价? 本文先给出可直接复述的结论,再用最小代码说明Express 文件上传 multipart base64 对比的工作方式、判断依据、项目边界和常见误区。
Express 中调用 next()、next('route') 和 next(err) 分别改变什么控制流? 本文先给出可直接复述的结论,再用最小代码说明Express next() next('route') next(err) 区别的工作方式、判断依据、项目边界和常见误区。
如何设计带 status 属性的自定义错误类,让 Express 错误处理中间件统一映射 HTTP 状态码? 本文先给出可直接复述的结论,再用最小代码说明Express 自定义错误类 statusCode 统一错误响应的工作方式、判断依据、项目边界和常见误区。
Express 解析查询串时同名参数(?a=1&a=2)会得到什么结果,应用该如何应对? 本文先给出可直接复述的结论,再用最小代码说明Express 查询参数重复 HTTP 参数污染的工作方式、判断依据、项目边界和常见误区。
Express 默认查询解析如何防止 __proto__ 之类的原型链污染输入? 本文先给出可直接复述的结论,再用最小代码说明Express qs 原型链污染 防御的工作方式、判断依据、项目边界和常见误区。
在代理后给 Express 加限流时,IP 取错会造成什么后果,正确的 key 来源是什么? 本文先给出可直接复述的结论,再用最小代码说明Express 限流 真实 IP trust proxy的工作方式、判断依据、项目边界和常见误区。
Express 中 req.params、req.query、req.body 的数据来源和取值前提分别是什么? 本文先给出可直接复述的结论,再用最小代码说明Express req.params req.query req.body 区别的工作方式、判断依据、项目边界和常见误区。
Express 中 req 上挂自定义属性、res.locals、app.locals 三种共享数据方式的生命周期差异是什么? 本文先给出可直接复述的结论,再用最小代码说明Express res.locals app.locals req 自定义属性的工作方式、判断依据、项目边界和常见误区。
Express 的 res.json、res.send、res.end、res.sendStatus 在 Content-Type 与使用场景上各有什么不同? 本文先给出可直接复述的结论,再用最小代码说明Express res.json res.send res.end 区别的工作方式、判断依据、项目边界和常见误区。
Express 的 app.route() 链式定义相比分散写 app.get/app.post 解决什么问题? 本文先给出可直接复述的结论,再用最小代码说明Express app.route 链式路由的工作方式、判断依据、项目边界和常见误区。
Express 路由匹配默认是否区分大小写与末尾斜杠,如何调整这两个行为? 本文先给出可直接复述的结论,再用最小代码说明Express 路由 大小写敏感 strict routing的工作方式、判断依据、项目边界和常见误区。
Express 的 app.all() 适合什么场景,与 app.use() 语义上差在哪里? 本文先给出可直接复述的结论,再用最小代码说明Express app.all 与 app.use 区别的工作方式、判断依据、项目边界和常见误区。
Express 一个路由挂多个处理函数(数组或多次 app.get)时执行规则是什么? 本文先给出可直接复述的结论,再用最小代码说明Express 路由 多个回调函数的工作方式、判断依据、项目边界和常见误区。
Express 的 app.param() 能在什么时候复用参数处理逻辑,典型用途是什么? 本文先给出可直接复述的结论,再用最小代码说明Express app.param 参数预处理的工作方式、判断依据、项目边界和常见误区。
Express 路由路径参数(如 /users/:id)如何匹配与解析,同名参数冲突会怎样? 本文先给出可直接复述的结论,再用最小代码说明Express 路由路径参数 req.params的工作方式、判断依据、项目边界和常见误区。
Express 路由中的通配符与正则路径在 Express 4 和 Express 5 中有什么写法差异? 本文先给出可直接复述的结论,再用最小代码说明Express 路由 通配符 正则 Express 5 path-to-regexp的工作方式、判断依据、项目边界和常见误区。
如何用 express.Router 把路由拆成可挂载模块,路径前缀如何继承? 本文先给出可直接复述的结论,再用最小代码说明express.Router 模块化路由 路径前缀的工作方式、判断依据、项目边界和常见误区。
在 Express 项目中用 JSON Schema / Zod / Joi 做校验相比手写 if 判断,设计取舍是什么? 本文先给出可直接复述的结论,再用最小代码说明Express 请求校验 schema Zod Joi 选型的工作方式、判断依据、项目边界和常见误区。
express.static 提供已上传文件时,如何防止目录穿越并控制缓存与 Content-Type? 本文先给出可直接复述的结论,再用最小代码说明Express express.static 安全 目录穿越的工作方式、判断依据、项目边界和常见误区。
Express 的 app.set('trust proxy') 解决什么问题,错误配置会导致什么安全风险? 本文先给出可直接复述的结论,再用最小代码说明Express trust proxy 反向代理的工作方式、判断依据、项目边界和常见误区。
Express trust proxy 的可选值(true、数字、IP 段、函数)分别代表什么信任边界? 本文先给出可直接复述的结论,再用最小代码说明Express trust proxy 取值 hop 数的工作方式、判断依据、项目边界和常见误区。
Express 上传超限被截断后,如何让客户端得到明确的 413 响应而不是连接被重置? 本文先给出可直接复述的结论,再用最小代码说明Express multer LIMIT_FILE_SIZE 413 错误处理的工作方式、判断依据、项目边界和常见误区。
用客户端传来的文件名直接拼接保存路径,在 Express 上传服务里会造成什么漏洞,如何防? 本文先给出可直接复述的结论,再用最小代码说明Express 上传 文件名 路径穿越 防护的工作方式、判断依据、项目边界和常见误区。
Express 处理文件上传时,文件大小限制和 MIME 类型校验应该在哪一层做,为什么 MIME 头不可信? 本文先给出可直接复述的结论,再用最小代码说明Express 上传 文件大小限制 MIME 校验 fileFilter的工作方式、判断依据、项目边界和常见误区。
express.urlencoded({ extended }) 的 true 和 false 分别使用什么解析库,影响什么数据形态? 本文先给出可直接复述的结论,再用最小代码说明Express urlencoded extended qs querystring 区别的工作方式、判断依据、项目边界和常见误区。
PUT(整体替换)与 PATCH(部分更新)在 Express 中校验请求体时规则应有什么不同? 本文先给出可直接复述的结论,再用最小代码说明Express PUT PATCH 请求体校验 必填字段的工作方式、判断依据、项目边界和常见误区。
请求校验中的 sanitize(如 trim、escape)与 validate 各解决什么问题,顺序为何重要? 本文先给出可直接复述的结论,再用最小代码说明Express 校验 sanitize 与 validate 区别的工作方式、判断依据、项目边界和常见误区。
请求校验应该放在 Express 中间件链的哪一层,校验失败应返回什么状态码? 本文先给出可直接复述的结论,再用最小代码说明Express 请求校验 中间件位置 422 400的工作方式、判断依据、项目边界和常见误区。
在 Express 4 中如何用包装函数让异步路由的异常统一进入错误处理中间件? 本文先给出可直接复述的结论,再用最小代码说明Express 4 异步路由 错误包装 asyncHandler的工作方式、判断依据、项目边界和常见误区。
反向代理场景下 X-Forwarded-For/Proto/Host 在 Express 中分别影响哪些 req 属性? 本文先给出可直接复述的结论,再用最小代码说明Express X-Forwarded-For req.ip req.protocol的工作方式、判断依据、项目边界和常见误区。