Memahami URL dan rute

Selesai

Aplikasi memiliki berbagai data yang dikelolanya, seperti produk atau pesanan. Sebagai pengembang untuk Tailwind Traders, atur API Anda ke dalam bagian untuk jenis data. Menggunakan bagian membantu Anda memelihara dan memperluas aplikasi.

Cara mudah untuk memperluas aplikasi web adalah dengan memastikan bahwa data dapat diakses melalui URL khusus. Dua URL yang berbeda memicu dua bagian kode yang berbeda di aplikasi web Anda.

https://tailwindtraders.com/products
https://tailwindtraders.com/orders

Unit ini menjelaskan apa itu URL untuk membuat API.

Jalur URL

URL adalah alamat yang dimasukkan pengguna ke klien, seperti browser, untuk menemukan server tertentu dan fungsionalitas tertentu. Mengetahui cara kerja URL membantu Anda mengatur aplikasi di sekitarnya.

Berikut adalah URL umum: http://localhost:8000/products/1?page=1&pageSize=20

URL sesuai dengan sintaks yang terlihat seperti ini:

scheme:[//authority]path[?query][#fragment]

Mari kita jelaskan bagian-bagian untuk URL contoh: https://tailwindtraders.com/products/1?page=1&pageSize=20#sort=asc.

Komponen URL Contoh Deskripsi
Skema https Protokol yang digunakan, seperti http, , https, ftpirc, atau file.
Otoritas tailwindtraders.com Terdiri dari info pengguna opsional dan host, yang biasanya merupakan nama domain.
Jalur /products/1 Nol hingga banyak segmen yang dipisahkan oleh garis miring (/), menentukan sumber daya yang Anda minati.
Kueri page=1&pageSize=20 Bagian opsional yang ditentukan setelah ? karakter, terdiri dari pasangan parameter/nilai untuk memfilter data lebih lanjut.
Fragmen sort=asc Membantu Anda lebih spesifik, seperti mengurutkan data dalam urutan tertentu.

Setiap rute dapat memiliki tindakan seperti membuat, membaca, memperbarui, dan menghapus (dikenal sebagai CRUD). Tindakan ini ditunjukkan oleh metode rute, dan dikombinasikan dengan informasi tambahan yang dikirim di header dan isi HTTP.

Handler HTTP

Express adalah kerangka kerja web yang membantu Anda membuat API HTTP. Gunakan untuk membuat rute yang menangani permintaan HTTP.

Berikut adalah contoh kode yang menangani permintaan HTTP untuk URL /products/114:

app.get('/products/:id', (req, res) => {
  // handle this request `req.params.id`
})

Format handler adalah app.<method>(<route>, <callback>). Permintaan untuk rute /products/114 dengan metode GET menjalankan kode dalam fungsi yang memiliki akses ke permintaan masuk (req) dan mengembalikan respons (res).

Kode ini dapat ditulis ulang untuk mempermudah membaca:

const routeHandler = (incomingRequest, outgoingResponse) => {
  // handle this request
}

app.get('/products/:id', routeHandler)

Dalam pekerjaan Anda di Tailwind Traders, Anda mungkin harus bekerja di aplikasi Express dengan salah satu gaya kode.

Data masuk

Data dapat dikirim ke API dengan beberapa cara:

Data Lokasi Penjelasan
Parameter rute /products/:id, di mana :id adalah parameter Parameter rute adalah bagian dari URL. Mereka digunakan untuk mengidentifikasi sumber daya tertentu. Panjang data terbatas pada panjang URL yang diizinkan sehingga biasanya pendek seperti ID atau nama. Rute dapat memiliki beberapa parameter.
Parameter kueri /products?page=1&pageSize=20, di mana ?page=1&pageSize=20 adalah parameter Parameter kueri adalah bagian dari URL. Mereka digunakan untuk memfilter data. Panjang data terbatas pada panjang URL yang diizinkan sehingga biasanya pendek seperti ID atau nama. Rute dapat memiliki beberapa parameter kueri.
Isi permintaan POST /products Isi permintaan adalah bagian dari permintaan HTTP. Ini digunakan untuk mengirim data ke API. Panjang data tidak terbatas pada panjang URL yang diizinkan sehingga bisa panjang. Header HTTP menunjukkan ke API jenis data seperti teks, JSON, atau biner.

Data masuk biasanya cocok dengan metode berikut berdasarkan tujuan tindakan:

Perbuatan Metode Data
Buat POST Isi permintaan
Read GET Parameter rute dan kueri
Pembaruan TARUH Isi permintaan
Hapus DELETE Parameter rute dan kueri

Tip

Huruf pertama dari setiap metode mengeja CRUD. Istilah tersebut digunakan dalam industri untuk menjelaskan empat jenis operasi dasar yang dapat dilakukan pada data.

Contoh parameter rute dengan req.params

Asumsikan URL permintaan adalah /products/20. Rute Ekspres untuk menangani permintaan ini adalah:

app.get('/products/:id', (req, res) => {
    const id = req.params.id

    // get product that matches id from database
})

Contoh string kueri dengan req.query

Asumsikan URL permintaan adalah /products?page=1&pageSize=20. Rute Ekspres untuk menangani permintaan ini adalah:

app.get('/products', (req, res) => {
    const page = req.query.page
    const pageSize = req.query.pageSize

    // get next page of products from database
})

Contoh isi permintaan dengan req.body

Asumsikan URL permintaan adalah /products dan isi permintaannya adalah { "name": "Product 1" }. Rute Ekspres untuk menangani permintaan ini adalah:

app.post('/products', (req, res) => {
    const name = req.body.name

    // add new product to database
})