Formating ASP.NET Web API Output | M Reza Faisal

reza

full-time(software-developer,lecturer); part-time(traveller, food-tester);

Formating ASP.NET Web API Output

Mar 14, 2014 by     No Comments    Posted under: I am Software Developer

Pada posting sebelumnya di http://www.rezafaisal.net/?p=1049, telah dijelaskan bagaimana menambahkan Web API Controller pada project ASP.NET Web Form.  Kemudian bagaimana cara untuk mengatur format output pada ASP.NET Web API?

Sebenarnya format output ini tergantung dengan tipe data yang menjadi keluaran dari “method” yang dipanggil.  Pada posting sebelumnya, kita hanya menggunakan tipe data primitif string dan array of string. Nah bagaimana kalau misalnya outputnya berupa objek dari suatu class atau suatu collection yang berisi objek-objek dari class tertentu? Bagaimana kira-kira format output yang akan kita lihat? Untuk mengetahui hal itu maka kita akan coba melakukan beberapa pengujian.  Berikut adalah hal-hal yang akan kita lakukan.

Pertama akan dibuat class Mahasiswa dengan kode seperti berikut :

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;


/// <summary>

/// Summary description for Mahasiswa

/// </summary>

public class Mahasiswa

{

    public string NIM;

    public string Nama;

    public string Jurusan;

}

Nah sekarang kita akan memodifikasi GeekController.cs yang telah kita buat menjadi seperti berikut ini :

public IEnumerable<Mahasiswa> Get()

{

    List<Mahasiswa> data = new List<Mahasiswa>();


    Mahasiswa mhs1 = new Mahasiswa();

    mhs1.NIM = "1";

    mhs1.Nama = "Adi";

    mhs1.Jurusan = "Ilkom";

    data.Add(mhs1);


    Mahasiswa mhs2 = new Mahasiswa();

    mhs2.NIM = "2";

    mhs2.Nama = "Ida";

    mhs2.Jurusan = "Ilkom";

    data.Add(mhs2);


    Mahasiswa mhs3 = new Mahasiswa();

    mhs3.NIM = "3";

    mhs3.Nama = "Dia";

    mhs3.Jurusan = "Ilkom";

    data.Add(mhs3);


    return data;

}

Dan berikut ini adalah output ketika GeekController.cs diakses via web :

[

{"NIM":"1","Nama":"Adi","Jurusan":"Ilkom"},

{"NIM":"2","Nama":"Ida","Jurusan":"Ilkom"},

{"NIM":"3","Nama":"Dia","Jurusan":"Ilkom"}

]

Dan berikut adalah output dengan format xml :

<ArrayOfMahasiswa>

    <Mahasiswa>

        <Jurusan>Ilkom</Jurusan>

        <NIM>1</NIM>

        <Nama>Adi</Nama>

    </Mahasiswa>

    <Mahasiswa>

        <Jurusan>Ilkom</Jurusan>

        <NIM>2</NIM>

        <Nama>Ida</Nama>

    </Mahasiswa>

    <Mahasiswa>

        <Jurusan>Ilkom</Jurusan>

        <NIM>3</NIM>

        <Nama>Dia</Nama>

    </Mahasiswa>

</ArrayOfMahasiswa>

Contoh selanjutnya adalah jika keluarannya hanya mengembalikan objek Mahasiswa saja, maka kita perlu ubah salah satu method pada GeekController.cs seperti berikut ini :

public Mahasiswa Get(string id)

{

    Mahasiswa mhs1 = new Mahasiswa();

    mhs1.NIM = "1";

    mhs1.Nama = "Adi";

    mhs1.Jurusan = "Ilkom";


    return mhs1;

}

Maka dapat kita lihat outputnya seperti berikut ini :

{

    "NIM":"1",

    "Nama":"Adi",

    "Jurusan":"Ilkom"

}

atau dengan format XML :

<Mahasiswa>

    <Jurusan>Ilkom</Jurusan>

    <NIM>1</NIM>

    <Nama>Adi</Nama>

</Mahasiswa>

Nah dengan format seperti ini developer akan dengan mudah “mengekstrak” data dengan JSON Parser atau XML Parser yang telah tersedia saat ini. #DeveloperFriendly

Selamat mencoba.

Got anything to say? Go ahead and leave a comment!

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Fotolia

Fotolia

ShutterStock


Fotolia
© 2013 eSevens
%d bloggers like this: