0
我已經在Angular的各種服務中使用了很多$ http模塊,但是想要將它與Mulesofts RAML分析器集成在一起。這將使我不必更新角度的某些部分以符合RAML規範。Angular.js與瀏覽器內RAML語法分析器的集成
有沒有人這樣做?什麼是必需的步驟?
如果這是不可能的,我猜測它只是使用RAM資源中描述的REST資源的$ resource模塊沒有太多的工作。
我已經在Angular的各種服務中使用了很多$ http模塊,但是想要將它與Mulesofts RAML分析器集成在一起。這將使我不必更新角度的某些部分以符合RAML規範。Angular.js與瀏覽器內RAML語法分析器的集成
有沒有人這樣做?什麼是必需的步驟?
如果這是不可能的,我猜測它只是使用RAM資源中描述的REST資源的$ resource模塊沒有太多的工作。
將任何庫集成到AngularJS中是完全可能的。
在你的情況下,它甚至更簡單 - RAML模塊將使用$q.when
來承擔Angular將使用的承諾,該承諾將免費爲您處理整個摘要循環集成問題。
的錯構瘤解析器使用,如:
//example from the documentation
RAML.Parser.loadFile('http://localhost:9001/myAPI.raml').then(function(data) {
console.log(data)
}, function(error) {
console.log('Error parsing: ' + error);
});
所有你需要做的是很好地發揮與角度的包裝與$q.when
這需要照顧融入消化週期:
$.when(RAML.Parser.loadFile('http://localhost:9001/myAPI.raml')).then(function(data) {
$scope.someProp = data;
}).catch(function(error) {
throw error; //Angular promises log when you use throw instead of $q.reject
});
當然,對於乾淨的Angular代碼 - 您應該將其提取到服務中。
關鍵的是,無論是腎錯構瘤模塊和角度使用承諾/ A +投訴實施的承諾,因此它是極其簡單的結合起來。 RAML使用Q
,Angular使用名爲$ q的觸摸版本。
謝謝,但目前在解析器中似乎沒有任何內容。我會看看api-designer,看看它們是如何生成代碼的(從raml生成API測試的代碼) – Nikos