URI adalah singkatan untuk Uniform Resource Identifier atau standar (=uniform) penamaan (=identifier) suatu sumber daya (=resource) di web. Sumber daya disini bisa berupa: gambar, video, audio, berkas, ebook, halaman HTML, berkas PDF, dll. Sedangkan URL (Uniform Resource Locator) merupakan alamat dimana URI itu bisa ditemukan. Dalam URI tidak dikenal istilah query string sehingga pemakaiannya seperti pada cara pertama sangat dihindari disini, dan juga oleh konsep REST.
Kalau tidak bisa memakai query string terus bagaimana kita mengirim parameter? Dengan menanggap path itu merupakan deklarasi parameter. Misalnya alamat pada contoh pada tulisan sebelum ini tentang query string:
http://localhost:8080?par1=rahmad&par2=dawooddapat kita tulis ulang menjadi:
http://localhost:8080/rahmad/dawoodPada contoh ini, saya telah menetapkan directory level pertama sebagai nilai dari parameter par1 dan directory level kedua sebagai nilai dari parameter par2.
Terus bagaimana memakai konsep URI ini di Flask?
Dengan memakai contoh yang sama dengan yang ada pada tulisan sebelum ini tentang pemakaian query string, maka template untuk dasar.html dan apakabar.html tidak akan mengalami perubahan. Tetapi template pertama.html harus kita ubah karena URL-nya berubah dari memakai query string ke memakai URI. Berkas pertama.html sekarang menjadi:
{% extends "dasar.html" %} {% block isi %} Kirim salam ke siapa? <ul> <li> <a href="/apakabar/Rahmad/Dawood"> Rahmad Dawood </a> </li> </ul> {% endblock %}
Terus program python-nya menjadi:
from flask import Flask, render_template, request from flask import redirect, url_for app = Flask(__name__) @app.route("/") def pertama(): return render_template("pertama.html") @app.route("/apakabar/<depan>/<belakang>") def apakabar(depan, belakang): return render_template("apakabar.html", namaDepan=depan, namaBelakang=belakang) app.run(debug=True, host="127.0.0.1", port=8080)Mari kita bedah perubahan pada program ini:
- Baris 10, pada pemetaan URL, ada tambahan <depan> dan <belakang> yang menandakan bahwa kedua elemen ini merupakan parameter yang wajib ada pada perintah ini. Perhatikan juga fungsi apakabar sekarang memerlukan dua parameter yang namanya sama dengan yang tercatat dibagian pemetaan URL, yaitu: depan dan belakang;
- Disini perintah if yang sebelumnya ada untuk memeriksa apakah parameter-parameter ini dikirim juga telah hilang karena sudah ditangani langsung oleh Flask;
- Baris 12-14 adalah proses pengiriman variable depan dan belakang ke template apakabar.html untuk ditampilkan.
Referensi
- http://en.wikipedia.org/wiki/Representational_state_transfer
- https://www.ibm.com/developerworks/webservices/library/ws-restful/
- http://en.wikipedia.org/wiki/Uniform_resource_locator
- http://en.wikipedia.org/wiki/Uniform_resource_identifier
No comments:
Post a Comment