GEODI rest api servisleri sağlamaktadır. Sorgu servislerinden yararlanarak sorgu sonuçlarını uygulamanızda kullanabilirsiniz. Sonuçları GeodiQueryJS ile istediğiniz formatta gösterebileceğiniz gibi Angular.js Vue.js gibi kütüphanelerden de yararlanabilirsiniz. |
Standart veya Basit api kullanımına göre bir Token, Geodi Proje adı ve Geodi URL'e bilgisine sahip olmalısınız.
GeudiQueryJS.js kütüphanesini projenize dahil edip şablon belirleyerek sorgu sonuçlarını uygulamanızda gösterebilirsiniz. Template tanımlama şekli Angular, Vue.js gibi araçlar ile aynıdır. Şablon içerisinde kullanabileceğiniz nesne özelliklerini örnekleri çalıştırdığınız tarayıcının debug konsolundan veya Geodi Query API - Doküman Arama servis dokümanından öğrenebilirsiniz.
Şablon içinde kullanılan nesnenin özelliklerine ulaşmak için şablon içerisinde {{ debugger; }} ifadesi kullanıp konsol üzerinden data ve context nesnelerini inceleyebilirsiniz.
GeodiQuery.js hazır şablon tanımı içermektedir. Herhangi bir şablon tanımlamadan sonuç elde edebilirsiniz.
<script src="https://servis2.dece.com.tr/GUI/js/GeodiQueryJS.js"></script> <div id=MyQueryResultArea></div> <script> var q = new GeodiQuery(); q.wsName = "...";//wsName q.EndIndex = 8; q.ServerUrl = "...";// Server Url q.Token = "...";//Token q.SearchString = "";//Search Text q.UseRank = true; RenderDLV({ Query: q, TargetDiv: "#MyQueryResultArea" } ) </script> |
<script type="dece-template" id=MyTemplate> <div> {{data.length}} item : <br> <ul> <d:r data="data"> <li title="{{data.AdditionalValues.Date}}">{{ data.DisplayName }} ( {{ data.MyMethod() }})</li> </d:r> </ul> </div> </div> |
<script src="https://servis2.dece.com.tr/GUI/js/GeodiQueryJS.js"></script> <div id=MyQueryResultArea></div> <script> var q = new GeodiQuery(); q.wsName = "...";//wsName q.EndIndex = 8; q.ServerUrl = "...";// Server Url q.Token = "...";//Token q.SearchString = "";//Search Text q.UseRank = true; RenderDLV( { Query: q, TargetDiv: "#MyQueryResultArea", Template: $("#MyTemplate"), OnStarting: function(args) { //before rest api call //... }, OnStartRender: function() { //after rest api call, before render $.each(args.Data,function(i,d) { d.MyMethod=function() {return "SAMPLE";} }); }, OnEndRender: function(args) { // after render //... } } ) //$("#MyTemplate") yerine $("#MyTemplate").html() veya string ifade iletilebilir. </script> |
Daha fazla örnek için aşağıdaki canlı demo projelerimiz üzerinden çalışan aşağıdaki örneği incelyebilirsiniz. Misafir kullanıcı için alınmış token kullanılmaktadır.
Örnek koda https://github.com/decesw/html/blob/master/DocumentQuery/Query_GeodiQueryJS.html adresinden erişebilirsiniz.
Template düzenlemeyi deneyebileceğiniz örnek kodu çalıştırmak için tıklayınız.
Rest api sonuçları template render destekleyen herhangi bir kütüphaneye verilebilir. Sorgu servislerinden elde edilecek JSON kütüphanenin istediği şekilde kullanılarak sonuçlar gösterilebilir. Bu konudaki tüm çalışabilir durumdaki örneklere https://github.com/decesw/html/tree/master/DocumentQuery adresinden ulaşabilirsiniz. Örnekler canlı demo projelerimiz üzerinden çalıştırılmaktadır. Misafir kullanıcı için alınmış token kullanılmaktadır.