如何设置或更改 swagger 404 响应类型
How to set or change swagger 404 response type
我使用 swagger-node (https://github.com/swagger-api/swagger-node) 生成了一个应用程序。我正在使用 swagger 验证器 来查找验证错误。它工作正常,我正在捕获错误并将它们更改为我喜欢的响应格式。
我还想处理 404 错误和 return 我自己的响应。 Swagger returns 自动响应 URL提供了不存在的页面,我想将其更改为我的回复。
招摇回应:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /fhello</pre>
</body>
</html>
我正在寻找改变它的方法(到JSON)。
好的,我解决了。
我得到的响应不是来自 swagger-node-runner 或类似的,而是来自 express 使用的 finalhandler 模块。
所以我没有在我的服务器中处理 404 错误。
要在swagger-node生成的项目中处理404只需要在中间件路径的末尾添加一个中间件,管理所有没有被之前的中间件捕捉到的查询。
app.use(function(req, res, next) {
return res.status(404).json({description: 'Page not found'});
})
(这可能是我的主要错误——我使用了一个带有四个参数的中间件 app.use(function(err, req, res, next) {}
我使用 swagger-node (https://github.com/swagger-api/swagger-node) 生成了一个应用程序。我正在使用 swagger 验证器 来查找验证错误。它工作正常,我正在捕获错误并将它们更改为我喜欢的响应格式。
我还想处理 404 错误和 return 我自己的响应。 Swagger returns 自动响应 URL提供了不存在的页面,我想将其更改为我的回复。
招摇回应:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /fhello</pre>
</body>
</html>
我正在寻找改变它的方法(到JSON)。
好的,我解决了。
我得到的响应不是来自 swagger-node-runner 或类似的,而是来自 express 使用的 finalhandler 模块。
所以我没有在我的服务器中处理 404 错误。
要在swagger-node生成的项目中处理404只需要在中间件路径的末尾添加一个中间件,管理所有没有被之前的中间件捕捉到的查询。
app.use(function(req, res, next) {
return res.status(404).json({description: 'Page not found'});
})
(这可能是我的主要错误——我使用了一个带有四个参数的中间件 app.use(function(err, req, res, next) {}