我使用 Swagger Yaml 来描述端点并生成模拟服务器。现有端点(我正在模拟)没有 100% 遵循 RESTful 原则,所以我只想覆盖模拟服务器返回的响应。简单的服务器代码如下所示:
var swagger = require('swagger-server');
var server = swagger('map-cache.yaml');
var port = 7072;
server.post('/map-qa_trunk/v2/getData', function(req, res, next) {
var foo = {
err : 123,
msg : "error message"
};
res.json(foo);
});
server.listen(port, function() {
console.log('Map Cache Mock Server is now running at http://localhost:' + port);
});
在 Yaml 定义中,定义了一个名为 MapResponseData 的对象,如何创建该对象的实例以便可以根据需要填充它并在 res.json() 中返回?类似于以下内容:
var response = getMapResponseData(); // don't know what this call should be
response.fieldA = 123;
res.json(response);
我猜这应该是可能的,因为 Swagger 解析了 YAML 文件并且知道所有指定的定义。