Saturday, July 6, 2019

Membuat Web API ASP.NET menggunakan Entity Framework


Pendahuluan




Kali ini kita akan membahas tentang apa itu Web API dan langkah-langkah membuat Web API menggunakan ASP.NET MVC dan C#. 




Apa Itu Web API ?


Web API adalah singkatan dari application programming interface (API) yang digunakan untuk memberikan kemudahan dalam berinteraksi dan berkomunikasi antara beberapa komponen perangkat lunak. ASP.NET Web API adalah sebuah framework yang dapat mempermudah dalam membangun aplikasi yang berbasis layanan HTTP, yang mana nantinya ini akan dapat menghubungkan antar client, termasuk didalamnya adalah browser dan perangkat mobile. Menggunakan ASP.NET Web API dapat mempermudah penggunaan database ke beberapa perangkat yang berbeda.



Kegunaan WEB Api antara lain adalah :
  1. Web API digunakan untuk mengakses layanan dalam dalam aplikasi web ke banyak aplikasi mobile dan perangkat eksternal lainnya
  2. Web API digunakan untuk membuat layanan web RESTful. REST adalah singkatan dari Representational State transfer, yang merupakan gaya arsitektur untuk aplikasi jaringan hypermedia
  3. Web API juga digunakan untuk membangun layanan web yang ringan, maintainable, dan scalable, dan mendukung bandwidth dengan jumlah terbatas.
  4. Web API digunakan untuk membuat layanan web HTTP sederhana. Mendukung XML, JSON, dan format data lainnya
Berikut langkah-langkah membuat Web API menggunakanASP.NET MVC, C#, dan Visual Studio.

Langkah 1. Buat ASP.NET Web Application di Visual Studio

Buka Visual Studio dan buka new project. pilih Visual C# >> Web >> ASP.NET Web Application. Setelah terpilih semua, berikan nama project dan click OK.


Langkah 2. Pilih Template Web API



Pilih Web API di template window. Terdapat penjelasan di setiap template dan pilihan autentifikasi dapat dirubah didalam menu Change Authentication. selanjutnya, click OK.


Langkah 3. Review Project Files
Tampilan awal project akan Nampak seperti gambar di bawah ini, berikut dengan menu solution explorer yang ada di sebelah kanan gambar dan terdapat menu MVC (Model View Control) di dalamnya.


Langkah 4. Tambahkan Controller baru



Pilih dan klik kanan Controllers >>Add >> Controller, Seperti gambar berikut.


Kemudian pilih Web API 2 Controller - Empty


Buat nama Controller, Untuk penamaan tetap harus menggunaka ….Controller di belakangnya. Hello kita ganti dengan ProductController







using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Net.Http;using System.Web.Http;namespace HelloWebAPI.Controller { public class HelloController : ApiController
    {
      
    }
}




ProdukEntitiy.class
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Produk.Models
{
    public class ProdukEntity
    {
        public int Id
        {
            get;
            set;
        }
        public string Name
        {
            get;
            set;
        }
        public decimal Price
        {
            get;
            set;
        }
        public int Quantity
        {
            get;
            set;
        }
    }
}


ProdukController.class
using Newtonsoft.Json;
using Produk.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Web.Http;
namespace Produk.Controllers
{
    [RoutePrefix("api/produk")]
    public class ProdukController : ApiController
    {
        [Route("getall")]
        public IHttpActionResult getall()
        {
            IList product = null;
            using (var ctx = new ProdukEntities())
            {
                product = ctx.Produks.Include("ProductEntity")
                            .Select(p => new ProdukEntity()
                            {
                                Id = p.Id,
                                Name = p.Name,
                                Price = p.Price.Value,
                                Quantity = p.Quantity.Value,
                            }).ToList();
                var response = new HttpResponseMessage(HttpStatusCode.OK);
                string jsonarray = JsonConvert.SerializeObject(product);
                response.Content = new StringContent(JsonConvert.SerializeObject(product));
                response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
            }
            if (product.Count == 0)
            {
                return NotFound();
            }
            return Ok(product);
        }
    }
}


WebApiconfig
            //Output format: Json
            //If you like XML to be return to client, remove below line
            config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new System.Net.Http.Headers.MediaTypeHeaderValue("text/html"));

Previous Post
Next Post

0 comments: