Tolong pilih kategori sesuai, jenis posting (diskusi atau bukan) dan sertakan tag/topik yang sesuai seperti komputer, java, php, mysql, dll. Promosi atau posting tidak pada tempatnya akan kami hapus!
- Bagi Anda yang ingin mendaftar, baca link berikut:
http://diskusiweb.com/discussion/50491/how-to-registrasi-diskusiweb-com-baca-ini-terlebih-dahulu
- Cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com
- Cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

buat api

bagaimana caranya membuat api dengan Restful?
aku ada kerjaan membuat api dengan restful, tapi masih bingung mau mulai dari mana
aku masih pemula :D

crud, json dan xml :-O

ada gak tutorial yg enak buat belajar serta tips dan trik biar gak tersesat

mohon pencerahannya :D
Tagged:
«13

Comments

  • yg pertama elo pahami ini dulu :

    Unlike SOAP-based web services, there is no "official" standard for RESTful web APIs. This is because REST is an architectural style, while SOAP is a protocol. Even though REST is not a standard per se, most RESTful implementations make use of standards such as HTTP, URI, JSON, and XML.

    yg kedua :
    sudah pernah bikin web service atau belum ?
  • edited April 2015
    udah master :D

    belum pernah
    aku kan masih pemula :D
  • edited April 2015
    belajar bikin web service dulu yg sederhana ...

    respon web service itu sama kaya halaman html biasa, cuma bedanya ...

    kalo halaman html penuh tag-tag html buat layouting, soalnya yg buka orang
    jadi mesti bisa dibaca dgn manusiawi

    kalo web service isinya cuma data, tag nya minimal, soalnya target yg bakal buka / baca itu aplikasi lain (web service client)
    tapi tetep bisa juga dibuka orang biasa
    isinya tetep sama, hanya data dengan tag minimal
    dikasih tag minimal itu supaya aplikasi yg baca lebih gampang memprosesnya

    [service.php]
    <?php
    $murid=array();
    $murid['L']=array();
    $murid['P']=array();
    $murid['L'][1]=array('Amir','Budi','Ali');
    $murid['L'][2]=array('Doni','Aji','Banu');
    $murid['L'][3]=array('Hasan','Karno','Putut');
    $murid['P'][1]=array('Ayu','Hani','Sinta');
    $murid['P'][2]=array('Lani','Wati','Siti');
    $murid['P'][3]=array('Dian','Yuli','Rara');

    $j=isset($_GET['jk'])?trim(strtoupper($_GET['jk'])):'';
    $k=isset($_GET['kls'])?(int)trim($_GET['kls']):0;

    if(!in_array($j,array('L','P'))) $j='';
    if(!in_array($k,array(1,2,3))) $k=0;

    $data=array();
    foreach($murid as $i1=>$v1) {
      if($i1==$j || $j=='') {
        foreach($v1 as $i2=>$v2) {
          if($i2==$k || $k==0) {
            foreach($v2 as $i3=>$v3) {
              $data[]=array('jenis_kelamin'=>$i1,'kelas'=>$i2,'nama'=>$v3);
            }
          }
        }
      }
    }

    echo json_encode(array('data'=>$data));
    ?>

    simpan, misal jadi service.php, dan buka
    coba semua parameter yg dikirim lewat url yg memungkinkan
    lihat hasil yg nungul

    sudah jadi web service elo
    data yg ditampilkan bentuknya json
    aplikasi lain (web service client) yg mau baca data itu juga gampang
    soalnya data sudah terformat

    [client.php]
    <pre>
    <?php
    print_r(json_decode(file_get_contents('http://.../.../service.php'),true));
    ?>
    </pre>
  • edited April 2015
    =D>

    aku udah mulai paham konsepnya
    coba semua parameter yg dikirim lewat url yg memungkinkan
    maksudnya gimana master? :D

    jadi, data yg ditampilkan itu bentuknya json

    klo crud dan xml itu seperti apa master? :D

    tutorial2 apa saja yang harus aku pelajari agar aku bisa cepat membuat api dengan restfull?
  • itu pan service nya bisa menerima parameter via GET
  • edited April 2015
    itu pan service nya bisa menerima parameter via GET

    $j=isset($_GET['jk'])?trim(strtoupper($_GET['jk'])):'';
    $k=isset($_GET['kls'])?(int)trim($_GET['kls']):0;

    :-O

    jk, kls datang darimana ya?
    koq tiba2 nungul

    yg aku tau ada yg POST, DELETE, PUT dan juga GET yg disebutkan master

    tapi bingung penerapannya

    :-?
  • edited April 2015
    =)) =)) =))
    lanjut disini aja :D

    controller : http://pastebin.com/xExds07Q
    model : http://pastebin.com/tQ4XkLui

    di controller :
    $row = $this->user_group_model->get_user_group($ID);

    di model :

    function get_user_group($ID)
        {
            $query = "SELECT tb_sys_menu.menu_id,
          
            tb_sys_level.level_id FROM tb_sys_menu
            LEFT JOIN tb_sys_level on tb_sys_level.id=tb_sys_menu.menu_id
            WHERE tb_sys_level.id=$ID ORDER BY level_id";

            return $this->db->query($query);
        }

    gimana join nya ya klo id nya gak sama?
    apa harus pke fungsi untuk mengakali nya?



    :-?
    napa elo kagak pernah nanya : "$ID datang darimana ya? kok tiba-tiba nungul"

    =)) =)) =))
  • lha gimana ? :))

    tanya aja dulu dah ...
    sebelum elo pake CI, pernah koding php biasa gak ?
  • edited April 2015
    malah nyengir :))

    sudah paham to ?
  • edited April 2015
    sudah master
    tapi untuk membuat api pke restfull masih bingung ~X(

    aku disuruh riset api :
    http://www.pukakomedia.net/codeigniter-rest.php
    lalu digabungin dengan aplikasi
    aku download dan coba jalankan aja error :((

    masih pemula, disuruh buat api #:-S
    benar2 tersesat :D
  • baik master :-bd
  • edited April 2015
    aku udah baca master
    tapi masih bingung
    kayaknya langsung praktek aja :D
  • edited April 2015
    itu bedanya restserver dengan restclient apa master ? :D

    aku baca tutorial yg ini : http://code.tutsplus.com/tutorials/working-with-restful-services-in-codeigniter-2--net-8814
    dengan yg ini : http://www.pukakomedia.net/codeigniter-rest.php

    malah bikin bingung ~X(
    mau pke yg mana untuk digabungkan dengan aplikasi
    beda banget tutorialnya
    selain itu, tutorialnya juga kurang lengkap dan mendetail  :((
  • edited April 2015
    katanya sudah paham web service yg gw contohin
    kok nanya beda server ama client

    gw kagak baca link yg elo tunjukin
    cuma kalo bilang kagak lengkap, link yg gw tunjukin itu sudah lengkap banget, tinggal pake
  • server yg menyediakan web service, client yg mengambil data dari web service
    cman pengen tau lebih detail aja :D

    ke-2 link tsb, isinya berbeda
    bingung mau pake yg mana
    dan buat pemula seperti agak sulit untuk meresapi :D
  • edited April 2015
    pake yg gw tunjukin aja
    itu pasti jalan
    librari ci nya sudah disediakan
    elo tinggal pake

    2 link yg gw tunjukin itu berhubungan
    soalnya yg nulis orangnya emang sama
  • klo link : http://www.pukakomedia.net/codeigniter-rest.php menurut master gimana?

    aku coba meresapi lagi :D
  • edited April 2015
    males baca tutor kalo yg nulis orang indo
    karena kebanyakan cuma nerjemahin tutor orang lain

    dan kebanyakan juga asal nulis buat sekedar menuh-menuhin konten
    yg diuber kan iklan nya
  • edited April 2015
    :-bd

    tapi, itu klo aku coba jalankan bisa (belum digabungkan dengan aplikasi)
    cman bisa jalan di php versi 5.3
    di php versi 5.6 gak bisa
  • kalo nulis koding nya bener
    mau dipake di php versi berapa pun pasti jalan
  • edited April 2015
    :-bd

    http://code.tutsplus.com/tutorials/working-with-restful-services-in-codeigniter-2--net-8814
    klo yg CodeIgniter from Scratch link nya gak bisa diakses

    "When you open the folder, you will see an entire CodeIgniter install,
    which is there to power the demo. This allows people to have a play with
    the REST demo before integrating with your existing application."

    demonya yg mana master?


    :-?
  • langsung di coba di lokal aja napa ?
    elo ikutin tutor di link yg gw tunjukin (bukan yg demo video)
    itu pan sudah diajari dari awal sampai akhir
  • edited April 2015
    restserver
    controller : folder api(example.php, key.php)
    model : -
    view : -
    config : rest.php
    libraries : format.php, REST_Controller.php

    yg dicopy kan ke aplikasi ku  yg mana saja master?
    rest.php di copy ke config aplikasi ku?
    format.php, REST_Controller.php di copy ke libraries aplikasi ku?

    :-?
  • ya semua ...
    itu pan struktur folder nya sama kaya ci
  • edited May 2015
    udah aku copy semua file ke aplikasi ku

    aku ganti $config['base_url']    = 'http://localhost/...'; jadi $config['base_url']    = 'http://localhost/restserver'; sesuai tutorialnya
    lalu aku coba jalankan, tampilannya jadi berantakan


    :-?
  • salah mas'e ...
    itu pan contoh kalo elo cuma mau nyoba dgn kondisi di ci yg masih kosong dan masih baru
    dan elo pake folder /restserver/

    tapi kalo elo nyoba di aplikasi elo sendiri yg sudah jalan :

    Open up "application/config/config.php" and set the base_url to get links working. This base_url will be different for everyone and depends entirely on where you uploaded your files.

    ya kalo elo install di /TMS/, ya elo tetep pake seting elo sendiri
  • edited May 2015
    saat aku akses : http://localhost/.../index.php/example/users

    Fatal error: Call to undefined function is_cli() in C:\xampp\htdocs\...\application\libraries\REST_Controller.php on line 953


    :-?
  • edited April 2015
    :))

    mas ... dilihat to struktur folder nya ...
    example.php nya ada dimana ?
    masih spt semula ? atau elo pindah ?
  • ya di dalam folder controller

    ini kan aku ikut turorialnya
  • beneran di dalam folder controller ?
  • edited April 2015
    beneran, yg example.php dan key.php aku copy ke folder controller
  • ooo, elo pindah ...

    is_cli() itu fungsi di ci 3.x
    coba elo buka REST_Controller.php, ganti is_cli jadi is_cli_request
  • edited May 2015
    Fatal error: Call to undefined function is_cli_request() in C:\xampp\htdocs\...\application\libraries\REST_Controller.php on line 953

    aku pke ci 3.0.0
  • edited April 2015
    is_cli() ada di /core/Common.php
    is_cli_request() ada di /core/Input.php

    kagak mungkin kagak ada
    kecuali core nya kagak elo load



    dan proses nya ci sendiri dari /index.php
    ...
    require_once BASEPATH.'core/CodeIgniter.php';



    core/CodeIgniter.php
    ...
    require_once(BASEPATH.'core/Common.php');
    ...
    $IN    =& load_class('Input', 'core');
    ...
  • edited April 2015
    :-?

    itu maksudnya core nya di load di example.php seperti ini :

    is_cli() ada di /core/Common.php
    is_cli_request() ada di /core/Input.php

    kagak mungkin kagak ada
    kecuali core nya kagak elo load



    dan proses nya ci sendiri dari /index.php
    ...
    require_once BASEPATH.'core/CodeIgniter.php';



    core/CodeIgniter.php
    ...
    require_once(BASEPATH.'core/Common.php');
    ...
    $IN    =& load_class('Input', 'core');
    ...

    aku coba : http://postimg.org/image/5rvyjb30l/

    tapi, tetap gak bisa

    :-?
  • coba elo buka core/Common.php elo

    cari, ada fungsi is_cli atau kagak ?
  • edited April 2015
    core yg didalam system kan?
    system->core->common
    fungsi is_cli gak ada

    kayaknya karena versi ci nya yg lama


  • edited April 2015
    lha katanya elo pake ci 3.0.0 ...

    ini ci 3.0.4

    Common.php
    https://github.com/bcit-ci/CodeIgniter/blob/develop/system/core/Common.php
    is_cli() ada, baris 383

    Input.php
    https://github.com/bcit-ci/CodeIgniter/blob/develop/system/core/Input.php
    is_cli_request() ada, baris 841



    yo wis, cek core/Input.php
    ada fungsi is_cli_request atau kagak ?

    kalo di ci 2.2, cuma ada is_cli_request(), di core/Input.php
    https://github.com/bcit-ci/CodeIgniter/blob/2.2-stable/system/core/Input.php
    baris 858



    dan ini barusan gw cek langsung di ci 3.0.0
    ada is_cli di Common.php, baris 383
    ada is_cli_request di Input.php baris 841

    lha terus, elo itu pake ci yg mana ?



    satu lagi ...
    gw liat ci me-load input pake class
    jadi bukan dipake langsung is_cli_request() spt is_cli()
    tapi lewat class input : $this->input->is_cli_request()
    ini hanya kalo lewat class input

    tapi semestinya kalo elo pake ci 3.x, is_cli() ada
  • edited May 2015
    ternyata aplikasi ku pake ci versi 2.2.1

    yg is_cli_request ada master, di core/input.php

    aku coba : http://postimg.org/image/hmhoe8sx3/

    A PHP Error was encountered

    Severity: Warning

    Message: require(application//system/core/Input.php): failed to open stream: No such file or directory

    Filename: controllers/example.php

    Line Number: 18



    Fatal error: require(): Failed opening required 'application//system/core/Input.php' (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\...\application\controllers\example.php on line 18
  • edited April 2015
    kagak usah elo load di dalam controller REST_Controller atau di example nya
    itu sudah otomatis di load di core nya CodeIgniter.php

    cuma beda cara panggilnya
    karena input di load ci sebagai class
    elo kagak bisa cuma ganti is_cli jadi is_cli_request
    mesti dipanggil lewat input
    $this->input->is_cli_request()
  • edited May 2015
    $this->input->is_cli_request();
    ini disimpan di mana? :D

    aku coba : http://postimg.org/image/u5g8c8vcj/

    Fatal error: Call to undefined function is_cli() in C:\xampp\htdocs\...\application\libraries\REST_Controller.php on line 953
  • edited April 2015
    saat aku akses : http://localhost/TMS/index.php/example/users

    Fatal error: Call to undefined function is_cli() in C:\xampp\htdocs\TMS\application\libraries\REST_Controller.php on line 953


    :-?
    yg error apa ?
    kenapa ?
    di mana ?

    pesan error itu mbok dibaca
    diterjemahkan kalo emang bahasa asing
    dipahami maksudnya
    lalu diperbaiki
  • edited May 2015
    Fatal error: Call to undefined function is_cli_request() in C:\xampp\htdocs\...\application\libraries\REST_Controller.php on line 955

    koq is_cli_request() masih tidak terdefinisi, padahal :

    di REST_Controller aku ganti : if (is_cli_request()) {

    di example aku tambah : $this->input->is_cli_request();


    :-?
  • edited April 2015
    elo itu baca tulisan gw apa kagak to mas ?
    di REST_Controller aku ganti : if (is_cli_request()) {
    gw liat ci me-load input pake class
    jadi bukan dipake langsung is_cli_request() spt is_cli()
    tapi lewat class input : $this->input->is_cli_request()

    ini hanya kalo lewat class input

    tapi semestinya kalo elo pake ci 3.x, is_cli() ada
    kagak usah elo load di dalam controller REST_Controller atau di example nya
    itu sudah otomatis di load di core nya CodeIgniter.php

    cuma beda cara panggilnya
    karena input di load ci sebagai class
    elo kagak bisa cuma ganti is_cli jadi is_cli_request
    mesti dipanggil lewat input
    $this->input->is_cli_request()
    di example aku tambah : $this->input->is_cli_request();
    buat apa ?
  • edited April 2015
    maksudnya class input ini apa?

    apakah class CI_Input yg di folder Input.php?
  • edited April 2015
    dan proses nya ci sendiri dari /index.php
    ...
    require_once BASEPATH.'core/CodeIgniter.php';



    core/CodeIgniter.php
    ...
    require_once(BASEPATH.'core/Common.php');
    ...
    $IN    =& load_class('Input', 'core');
    ...
    itu ...
    ci sudah me-load input sebagai class
    jadi fungsi yg di definisikan (termasuk fungsi is_cli_request) di dalam class input itu jadi nya method
    tinggal elo pake
    karena dari awal sudah di-load oleh ci di CodeIgniter.php



    $this->input->is_cli_request();

    itu jadinya
  • edited April 2015
    aku komen isi dari protected function _parse_get(), udah gak ada error

    tapi aku masih bingung
    ini : $this->input->is_cli_request(); buat apa? :D
Sign In or Register to comment.