如何从JavaScript访问swagger Yaml定义的对象

加里·基普尼斯(Gary Kipnis)

我使用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文件,并且知道所有指定的定义。

梅根D

尝试将请求对象输出到console.log,以查看是否可以找到对swagger定义的引用。另一个选择是从yaml文件中提取已解析的swagger定义(例如,使用js-yaml)并从中提取。

但是,我最好的建议是使用swagger-tools而不是swagger-server。swagger-server软件包是alpha版本,与swagger-tools相比,具有更少的下载,修订和用户。swagger-tools的好处是将得到积极维护,并且有一个更大的社区可以为您提供支持。要将项目转换为swagger-tools,请使用swagger.io> Swagger编辑器>在线编辑器>左窗格中的粘贴yaml>生成服务器> Node.js

在swagger-tools中,整个Swagger Yaml定义包含在每个请求对象中:

req.swagger.swaggerObject

并且您可以根据需要从中提取响应对象的定义。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Swagger YAML 查询(类型对象)参数定义错误

使用Swagger编辑器在YAML中使用数组定义响应对象

如何使用Python读取自定义的序列化YAML对象(由Rails编写)?

遵循规范,如何将嵌套对象的json定义为yaml?

从Yaml文件访问OpenCV对象

如何访问多个javascript对象?

如何使用javascript访问对象?

Javascript:如何访问数组对象?

JavaScript:如何访问对象内的数组对象

如何访问通用定义对象的属性?

Swagger 2.0-如何定义嵌入式对象

使用 Handlebars 访问嵌套的 YAML/JSON 对象

如何从普通 JavaScript 访问 AMD 模块(“定义”)?

用大括号定义对象绑定后如何访问对象?

如何从内部方法Javascript访问基础对象

如何在javascript中访问对象原型?

如何以数组形式访问JavaScript对象

如何在Javascript中访问JSON对象?

如何访问 Javascript 对象中的窗口变量?

如何访问javascript对象数组中的条目

如何访问在javascript对象中传递的函数?

如何在javascript中访问对象属性?

如何从javascript中的嵌套对象访问密钥

如何检测何时访问JavaScript对象变量?

如何在JavaScript中访问对象?

如何访问 Javascript DOM 中的 Chart 对象?

使用`Object.defineProperty`定义时,如何使用“for in”循环访问JavaScript对象的属性

如何访问在javascript中对象的键内定义的函数中的值

使用perl解析YAML文件。如何访问和解析不同的Yaml对象。