(Python)Create Rest API JSON Django Framework (Part 1)

March 6, 2017, 2:30 p.m. 5 2532

Membuat api json sekarang kebutuhan utama untuk menjembatani antara platform atau multi platform, kali ini kita akan mencoba membuat api JSON yang mudah dan cepat, karena  semua kalau membuat backend dengan django bisa di lakukan dengan 1 jam sudah bisa mengeluarkan output api JSON. tapi kali ini saya membantu hanya membuat api JSON saja, karena untuk menginstall Django dan membuat databasenya bisa di mencari di beberapa blog dan web resmi django. saya bisa meyakinkan kepada teman teman bahwa tidak lebih dari 1 jam untuk membuat api JSON simple dengan cepat menggunakan Django Framework. kita lakukan saja sekarang cara membuat Rest API JSON. 

Contoh API yang mengeluarkan result nya :

{
  "code": "200",
  "result": [
    {
      "note": "-",
      "icon": "http://console.necistudio.com/media/Animenia/icon/Digimon.Adventure.full.2046655.jpg",
      "episode": "13 Episode Anime",
      "id": "c978ee36-806e-4e75-a5fb-abb24270d515",
      "name": "Digimon Adventure Tri"
    },
    {
      "note": "-",
      "icon": "http://console.necistudio.com/media/Animenia/icon/poster-thumb-49005.jpg",
      "episode": "14 Episode Anime",
      "id": "84195aa6-f113-4495-8085-90573226bc1d",
      "name": "Dragon Ball Super"
    },
    {
      "note": "-",
      "icon": "http://console.necistudio.com/media/Animenia/icon/FairyTail-Volume_1_Cover.jpg",
      "episode": "8 Episode Anime",
      "id": "b987942c-6584-4dba-ad0c-9e3b88e8c2f5",
      "name": "Fairy Tail"
    },
    {
      "note": "-",
      "icon": "http://console.necistudio.com/media/Animenia/icon/Naruto.png",
      "episode": "10 Episode Anime",
      "id": "e36ee926-e44e-43f9-b23e-5ca6b566bc01",
      "name": "Naruto Shippuden"
    },
    {
      "note": "-",
      "icon": "http://console.necistudio.com/media/Animenia/icon/poster-thumb-218_1.jpg",
      "episode": "12 Episode Anime",
      "id": "75735cec-16f1-4e89-b998-f6c3c71bb3f0",
      "name": "One Piece"
    },
    {
      "note": "-",
      "icon": "http://console.necistudio.com/media/Animenia/icon/poster-thumb-46644.jpg",
      "episode": "10 Episode Anime",
      "id": "6e016185-2c21-450a-8e7f-9993c7d1d9ec",
      "name": "One Punch Man"
    }
  ]
}

Lupa saya bilang ya, haaaa. kita akan menggunakan package yang bernama Simple Json link nya https://simplejson.readthedocs.io/en/latest/

1. Install Simple Json di python manager 

pip install simplejson

2. Buka file view.py di project nya dan import package manager simplejson

import json as simplejson

3. Kita akan melakukan encode data dari database ke output httpresponse

tasksdata = models.CategoryAnime.objects.order_by('name')

data = simplejson.dumps({
                                'code': '200',
                                "result":[
                                    {
                                        'id': oo.id,
                                        'name': oo.name,
                                        'note': oo.note,
                                        'episode': oo.episode,
                                        'icon': 'http://console.necistudio.com/media/'+str(oo.icon)
                                    }
                                for oo in tasksdata]
                                })
  • ok saya jelaskan sedikit. jadi untuk code tasksdata = models.CategoryAnime.objects.order_by('name') ini digunakan untuk select data dari database.
  • untuk encodenya simplejson.dumps sama seperti struk api lainnya. bahwa json ada object dan array. itu bisa di lakukan sesuai dengan kebutuhan. contoh di atas saya terapkan json array, karena data yang saya tampilkan lebih dari satu.
  • setelah itu data bisa di tampilakan menggunakan HttpResponse 

Gimana simple kan, dengan sepotong code tersebut bisa saya jamin teman teman akan membuat api json tidak lebih dari 1 jam, bahkan bisa kurang dari itu. catatan kalau simple ya. karena kebanyakan yang membuat lama itu pas kita membuat database pada model Django nya. karena kita harus merelasikan beberapa table atau trigger data beberapa table.

Part 2 nanti saya kan membahas gimana membuat API yang memiliki authorization, header, dan body. karena membuat api menggunakan body saja itu sudah bisa mendapatkan output. tapi biar blognya panjang nanti saya bahas semuanya aja.

 

Tentang Penulis

Vimio

Kalau bisa jadi 10 akan kita jadikan semua nya 10, 10 jika nilai 0 - 10 yang tertinggi. tapi sayangnya ketika nilai dan niat saling menghianati. bersyukurlah semua apa yang kita dapat dan yang telah di berikan. ya itu nilai 10 yang dikasih. { 1 0 }

Komentar

Anna arthdi putra

Untuk membuat backend yang scalable dan cepat ini rekomendasi buat anda.

  • March 8, 2017, 3:16 a.m.