我用Atom的this扩展名来设计我的API,用RAML编写。RAML-!包含奇怪的行为
我想我在这里有一个问题:(一蒙面标题和基本URI,不好意思):
如果我按照RAML 1.0规格,我应该把一个 “有!”。奇怪的是,apiworkbench没有发现任何错误。
为什么这项工作没有?
我用Atom的this扩展名来设计我的API,用RAML编写。RAML-!包含奇怪的行为
我想我在这里有一个问题:(一蒙面标题和基本URI,不好意思):
如果我按照RAML 1.0规格,我应该把一个 “有!”。奇怪的是,apiworkbench没有发现任何错误。
为什么这项工作没有?
不,对于图书馆你不能使用包含关键字。
看来这个规范并不是很清楚,至少在任何地方我都找不到它。因此提出这个问题将是一个好主意。
但是,如果您在规范中检查examples,您将会看到在使用库(使用“关键字”)时省略“!include”。
非常好的对话。实际上,规范应该更清楚一些,但是为什么库遵循不同于正常的方法!include
的原因是,包含程序只是将新节点添加到您曾使用!include
关键字的现有位置。由于它确实是一个简单的“添加”操作,它并没有掩盖任何循环依赖关系。
库有很大的不同,命名空间(uses
)的使用有很大的不同。图书馆的目的是创建一组共同的资源/最佳实践的定义,人们也可以使用它们来创建自己的图书馆或其他定义。循环依赖是不可避免的。为此,RAML工作组必须采用与!include
不同的机制。因此,图书馆应始终使用:
uses
lib: mylib.raml
希望这解释了背后的合理性,但请让我知道如果您有更多问题。
http://raml.org/上的示例使用!include显示它清晰...当我阅读规范时,对此不清楚.. – jy95
示例使用!include for types,traits,resource types等等,但在使用“uses”关键字时不能使用,在这些示例中,您将看到“!include”被省略。 – Pedro