Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.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
Node.js 快车:避免未定义/未使用的路线_Node.js_Api_Express - Fatal编程技术网

Node.js 快车:避免未定义/未使用的路线

Node.js 快车:避免未定义/未使用的路线,node.js,api,express,Node.js,Api,Express,我正在用express构建一个小型微服务,我想知道如何避免未定义的路由, i、 e: 在我的API中,我只定义了 /api/myendpoint 这与预期的一样,但是如果我向运行express的同一主机+服务器发送任何类型的请求,即 /api/route/dont/exist 我得到了一个丑陋的html响应,我想避免它,或者返回某种自定义消息 我一直在挖,但找不到任何解决办法 提前谢谢 在Express中 简而言之,它看起来是这样的: // custom error handler app.

我正在用express构建一个小型微服务,我想知道如何避免未定义的路由, i、 e:

在我的API中,我只定义了

/api/myendpoint
这与预期的一样,但是如果我向运行express的同一主机+服务器发送任何类型的请求,即

/api/route/dont/exist
我得到了一个丑陋的html响应,我想避免它,或者返回某种自定义消息

我一直在挖,但找不到任何解决办法

提前谢谢

在Express中

简而言之,它看起来是这样的:

// custom error handler
app.use(function (err, req, res, next) {
  console.error(err.stack)
  res.status(500).send('Something broke!')
});
你把这个放在其他中间件之后。有关更多信息,请参阅上面的文档链接。如果未找到特定传入请求的路由处理程序,或者任何路由调用带有错误的
next(err)
,则可以控制将什么响应发送回客户端。只有在发生错误的情况下才会调用此中间件处理程序。然后,您可以用Express发送任何您想要的回复。

简而言之,它看起来是这样的:

// custom error handler
app.use(function (err, req, res, next) {
  console.error(err.stack)
  res.status(500).send('Something broke!')
});
你把这个放在其他中间件之后。有关更多信息,请参阅上面的文档链接。如果未找到特定传入请求的路由处理程序,或者任何路由调用带有错误的
next(err)
,则可以控制将什么响应发送回客户端。只有在发生错误的情况下才会调用此中间件处理程序。然后,您可以发送任何您想要的响应