Web API , Odata breeze.js
Lion@Lai
科技日新月異
Javascript竟然變成顯學
這年頭的全端工程師
一定要會Javascript
如果都用JS那資料要怎麼拿?!
來統一介面吧
Web API!!
但查詢介面好像有點難搞
WebAPI
API的力量來自工程師的血量
public product Get(string parma1)
.
.
public product Get(string parma1, string parma2)
.
.
public product Get(string parma1, string parma2, ...... ,string parmaN)
換個方式
public product Get(SomeSerachModel parma)
這樣搞定了吧!!
但...
public product Get(SomeSerachModel param)
{
if(param.param1){
}
if(param.param2){
}
...
if(param.paramN){
}
}
為什麼不能有一個
單純的查詢介面
你的願望微軟聽到了
ODATA
提供資料存取的介面
還有最重要的查詢介面
並且建構在RESTful上!!
怎麼查
http://demo.miniasp.com/odata/products
看起來就跟WebAPI一樣阿!!
http://demo.miniasp.com/odata/products?$filter=StoreId eq 241
有共用的查詢介面ㄟ!!
那複雜點的呢
http://demo.miniasp.com/odata/products?$top=10&$filter=Id eq 24&$filter=StoreId eq 241&$filter=StoreType eq 0&$inlinecount=allpages
這是給人看的嗎?!
滿天都是ORM了
難道沒有好一點的介面嗎
永遠會有好心人
他將Odata包裝成ORM
透過產生後端Model的Metadata
BreezeJS在前端建立一個JS的ORM
就像EF一樣!!
並且將查詢語法包裝起來
var p1 = new breeze.Predicate("Id", "==", id); var p2 = breeze.Predicate("Enable", "==", false); var p3 = breeze.Predicate("ItemType", "==", 2); var predicate = p1.and(p2).and(p3); var query = breeze.EntityQuery .from("Products").where(predicate);
看起來好酷啊!!
請下載
這是breeze + angularjs 做出來的一個template
直接看程式碼吧!!
Demo Time!!
好心人未必不會寫出Bug程式!!
Bug Demo
謝謝大家
Web API, ODATA, BreezeJS
By lionlai
Web API, ODATA, BreezeJS
- 1,095