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 :
- Web API digunakan untuk mengakses layanan dalam dalam aplikasi web ke banyak aplikasi mobile dan perangkat eksternal lainnya
- Web API digunakan untuk membuat layanan web RESTful. REST adalah singkatan dari Representational State transfer, yang merupakan gaya arsitektur untuk aplikasi jaringan hypermedia
- Web API juga digunakan untuk membangun layanan web yang ringan, maintainable, dan scalable, dan mendukung bandwidth dengan jumlah terbatas.
- 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
Langkah 4. Tambahkan Controller baru
Pilih dan klik kanan Controllers >>Add >> Controller, Seperti gambar berikut.
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
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"));
0 comments: