Farklı platformların birbiri ile konuşabilmesi biz yazılımcılar için gerçekten büyük bir nimet. Bunu ASP.NET Web API verilerini kullanarak Google Chart API grafiklerini kolay bir şekilde çizdirebildiğimde bir kez daha anlamış oldum.
Geliştiriciler için birçok kullanışlı ürün ortaya koyan Google Google Chart API uygulaması ile grafik kullanmak isteyenlere yeni bir kapı açmıştır. Platform bağımsız uygulamalar konusunda çok iyi ürünler ortaya koymaya devam etmektedir. Bende bu grafik ürününü incelerken hemen bir Web API oluşturup kullanmak istedim. Başarılı sonuca ulaşınca da bunu sizlerle paylaşmak istedim.
Örnek bir Web API uygulaması üzerinden Google Grafiklerini çizdirmeye çalışalım. Hemen boş bir ASP.NET MVC uygulaması oluşturarak işe başlayalım. Örnek uygulamamızda hedeflenen buradaki Google sütun grafiğini çizmektir. Uygulama çalıştığında ulaşacağımız grafik aşağıdaki gibi olacaktır.
Grafikte kullanılacak olan veri modelini aşağıdaki şekilde oluşturarak işe başlayalım.
public class CompanyReport { public string Year { get; set; } public double Sales { get; set; } public double Expense { get; set; } }
Model sınıfımız yıllara göre satış ve giderleri veren bir özet niteliğinde olup grafikte olması gereken verileri tutmaktadır.
Şimdi de bu veri tipine uygun verileri servis edecek olan bir Api Controller oluşturmalıyız.
public class CompanyController : ApiController { public IEnumerable Get() { var result = new List { new CompanyReport{Year = "2008&", Sales = 1000, Expense = 452}, new CompanyReport{Year = "2009", Sales = 1150, Expense = 652}, new CompanyReport{Year = "2010", Sales = 950, Expense = 1052}, new CompanyReport{Year = "2011", Sales = 1150, Expense = 252}, }; return result; } }
Api Controller sınıfımız olan CompanyController sınıfının Get() metodu CompanyReport verilerini içeren JSON tipinde bir veri seti döndürmektedir. Google Chart API aynı şekilde grafik çizim verilerini JSON tipinde almaktadır. Bu sayede en başa dönecek olursak, iki ayrık sistemi JSON ortak noktasında buluşturmuş olacağız.
Grafik çizim işlemini View tarafında bir Script içerisinde gerçekleştirmeye çalışalım. Scrip içerisine referans olan Google Char ve JQuery Javascript dosyalarını Google CDN üzerinden çağırmaktayım.
<script src="https://www.google.com/jsapi" type="text/javascript">// <![CDATA[ <script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'/> <script type="text/javascript"> function drawChart() { $.getJSON("/api/Company", null, function (items) { var table = new google.visualization.DataTable(); table.addColumn('string', 'Yıllar'); table.addColumn('number', 'Satışlar'); table.addColumn('number', 'Giderler'); for (var i = 0; i < items.length; i++) { table.addRow([items[i].Year, items[i].Sales,items[i].Expense]); } var options = { title: 'Şirket Raporları' }; var chart = new google.visualization.ColumnChart( document.getElementById('chart_div')); chart.draw(table, options); }); } google.load("visualization", "1", { packages: ["corechart"] }); google.setOnLoadCallback(drawChart); // ]]></script>
Artık uygulamamızı çalıştırdığımızda Api verileriyle Google grafikleri çizilmiş olacaktır.
Bir sonraki yazıda görüşmek dileğiyle.
Kaynak Kod: Burada
Gayet basit anlatılmış güzel bir örnek uygulama ve güzel bir yazı olmuş teşekkürler. Web API konusunda çok fazla paylaşım göremiyorum Türkçe kaynaklarda. Başarılarınızın devamını dilerim.