Apakah REST API itu? REST adalah singkatan dari REpresentational State Transfer. Ini adalah gaya arsitektur distributed hypermedia systems yang diperkenalkan pertama sekali oleh Roy Fielding pada tahun 2000 melalui disertasinya yang cukup terkenal saat itu.
REST atau RESTful API (Representational State Transfer) didisain untuk memperoleh keuntungan dari protokol yang ada. Meskipun REST dapat digunakan di hampir semua protokol, biasanya REST memanfaatkan HTTP saat digunakan untuk API (Application Programming Interface) milik Web.
REST (Representional State Transfer) merupakan arsitektur komunikasi yang menggunakan protokol HTTP untuk pertukaran data. Metode ini sering digunakan dalam pengembangan aplikasi. Tujuannya untuk menjadikan sistem memiliki performa yang baik, cepat, dan mudah untuk dikembangkan, terutama dalam pertukaran dan komunikasi data.
REST API dapat digunakan di Aplikasi Web yang dihasilkan oleh PHPMaker. REST API mulai diperkenalkan sejak PHPMaker versi 2019, dan sampai dengan versi terakhir saat ini (2021), REST API masih tetap ada.
Sejak PHPMaker 2021 (lebih tepatnya mulai versi 2021.0.3), Web Developer semakin dimanjakan lagi, dengan ditambahkannya Swagger UI. Ini merupakan tools atau UI (User Interface) untuk mengetest API secara langsung lewat antarmuka Aplikasi Web yang dihasilkan oleh PHPMaker.
Swagger UI mengijinkan siapapun — apakah itu Web Developer atau Pengguna Akhir aplikasi web Anda — untuk memvisualkan dan berinteraksi dengan API tanpa harus mengetahui logik implementasinya. Swagger UI otomatis dihasilkan dari spesifikasi OpenAPI (dulu dikenal dengan nama Swagger), dan dilengkapi dengan dokumentasi secara visual, sehingga memudahkan saat implementasi di back end dan di client.
Jadi, buat Anda yang baru pertama kali mengenal istilah REST API, jangan khawatir, karena dengan Swagger-UI tadi, kita bisa belajar sekaligus mengetest REST API melalui Aplikasi Web yang dihasilkan oleh PHPMaker 2021.
PHPMaker mendukung REST API, yang memungkinkan Web Developer untuk melakukan operasi CRUD (Create, Read, Update, dan Delete) untuk table-table pada Aplikasi Web yang dihasilkan oleh PHPMaker. Kita dapat membuat permintaan ke API (melalui kode JavaScript), mendapatkan response sebagai JSON (Javascript Object Notation), menginterpretasikan, dan menampilkan hasilnya sesuai keinginan kita.
Standar path untuk mengakses API di Aplikasi Web yang dihasilkan oleh PHPMaker adalah api. Lokasinya tepat di bawah dari alamat utama Aplikasi Web kita. Contoh, jika alamat Aplikasi Web adalah http://www.domainku.com, maka path dari API tadi adalah http://www.domainku.com/api.
REST API di PHPMaker diimplementasikan berdasarkan halaman: list, view, add, edit, dan delete untuk setiap table yang dibangkitkan. Beberapa aksi dasar yang didukung oleh API adalah add (Create), list / view (Read), edit (Update), delete (Delete), login (Authenticate User, jika fitur Security diaktifkan), dan file (Get file content).
Contoh nyata penggunaan REST API di Aplikasi Web yang dihasilkan oleh PHPMaker 2021 adalah dengan mengakses URL berikut melalui browser untuk menampilkan data di table models pada project demo2021 di localhost:
http://localhost/demo2021/api/list/models
maka akan menghasilkan balikan/response dalam format JSON seperti ini:
{"success":true,"models":[{"ID":"1","Trademark":"9","Model":"240SX"},{"ID":"2","Trademark":"1","Model":"530i"},{"ID":"3","Trademark":"1","Model":"645Ci"},{"ID":"4","Trademark":"1","Model":"735i"},{"ID":"5","Trademark":"1","Model":"745i"},{"ID":"6","Trademark":"2","Model":"Allante"},{"ID":"7","Trademark":"3","Model":"Avenger"},{"ID":"8","Trademark":"3","Model":"B350 Ram"},{"ID":"9","Trademark":"8","Model":"C230 Kompressor Sport Coupe"},{"ID":"10","Trademark":"8","Model":"C240"}],"totalRecordCount":52,"version":"17.0.4"}
Perhatikan di bagian pertama dari response. Di situ tercantum “success”:true, yang artinya balikan dari API list yang kita panggil berhasil alias sukses. Selanjutnya diikuti dengan nama table yaitu models, dan seluruh data yang terdiri dari 3 field: ID, Trademark, dan Model. Di bagian akhir kita bisa melihat jumlah record, yaitu: “totalRecordCount”:52 yang artinya ada 52 record, dan terakhir adalah versi PHPMaker-nya, yaitu: 2021.0.4 atau 17.0.4: “version”:”17.0.4″.
Informasi lebih lanjut termasuk contoh-contoh REST API lainnya, dapat dilihat melalui topik REST API dari menu Help PHPMaker 2021.
Bayu Pratama mengatakan
Bagaimana cara membuat REST API di phpmaker seperti ini :
{
“emp_no”: 10001,
“birth_date”: “1953-09-02”,
“first_name”: “Georgi”,
“last_name”: “Facello”,
“gender”: “M”,
“hire_date”: “1986-06-26”,
“departments_by_dept_emp”: [
{
“dept_no”: “d005”,
“dept_name”: “Development”
}
]
},
{
“emp_no”: 10002,
“birth_date”: “1964-06-03”,
“first_name”: “Bezalel”,
“last_name”: “Simmels”,
“gender”: “F”,
“hire_date”: “1985-11-21”,
“departments_by_dept_emp”: [
{
“dept_no”: “d007”,
“dept_name”: “Sales”
}
]
}
jadi data JSON seperti ini berelasi antara table employe dan departemen, apakah REST API PHPMAKER 2021,sudah menyediakan seperti itu?
Masino Sinaga mengatakan
Sudah coba fitur Master/Detail di PHPMaker?
Bayu Pratama mengatakan
bagaimana memanggil rest api nya? di dokumentasi phpmaker tidak ada
Bayu Pratama mengatakan
saya sudah mencoba master/detail,di dokumentasi ndak ada sama sekali REST API nya tentang master/detail.
di phpmaker untuk menampilkan rest api kan seperti ini “/api/list/namatabel”,akan tetapi muncul nya tidak ada beralasi sama sekali,muncul nya cuman id nya saja
jadi tabel saya seperti ini :
Tabel Proyek
id,departemen_id,nama_proyek
Tabel Departemen
id,nama_departemen
Intinya bisa tidak PHPMAKER 2021 REST API nya memunculkan nama departemen di tabel proyek
REST API nya,Bukan Ketika ADD MASTER/DETAIL
Masino Sinaga mengatakan
Tanyakan langsung ke forum diskusinya: hkvforums.com/viewforum.php?f=4
anwar mengatakan
pak masino apakah ada api untuk post login?
Masino Sinaga mengatakan
Ada. Langsung aja cek di sini: Supported API Actions
Andri mengatakan
http://103.63.25.251/portal-air-tanah/api/file/menu_atas/image/10
sy coba phpmaker di backend terus frontend laravel tapi image tidak muncul, klo text muncul kenapa ya Pa ?
Masino Sinaga mengatakan
Barusan saya cek dengan mengklik langsung URL di atas, muncul kok image-nya.