【发布时间】:2019-07-30 19:27:58
【问题描述】:
nodeJS swagger 中间件的新手。我有一个可能看起来像一个可能有明显答案的问题。我一直在四处寻找图书馆,而 swagger-express-middleware 似乎有一些用于处理请求验证的内置工具。
我有一个非常直接的端点:
/ping:
get:
x-swagger-router-controller: health-check
description: Health check endpoint.
operationId: getPing
responses:
"200":
description: This service is healthy.
schema:
$ref: '#/definitions/PingResponse'
default:
description: Error payload.
schema:
$ref: '#/definitions/ErrorMessage'
在服务的这个初始化函数中,我做了这样的事情
this.middleware.init(swaggerPath, (err) => {
this.app.use(
this.middleware.metadata(),
this.middleware.CORS(),
this.middleware.files(),
this.middleware.parseRequest(),
this.middleware.validateRequest(),
);
});
如果我然后像这样运行卷曲
curl --url "http://localhost:9000/ping?hello=true"
我希望得到一个错误,但是它返回一个有效的响应。框架是否仅检查定义的参数并根据需求设置检查它们是否存在,或者它是否也能够检查上述未知参数。如果是这样,我需要在初始化阶段添加任何代码吗?还是有更好的请求验证库?
【问题讨论】:
标签: node.js express swagger middleware