-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path17d-queryparam.js
executable file
·64 lines (54 loc) · 2.02 KB
/
17d-queryparam.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
// --- Query Parameters ---
// selain dg path param, ada teknik lain yg sering digunakan utk mengirimkan data melalui url, yakni dg query param
// teknik ini umum digunakan pada permintaan yang membutuhkan kueri dari client, contoh seperti pencarian dan filter data
// data yang dikirim melalui query memiliki format key=value, contohnya :
// localhost:5000?name=harry&location=bali
// contoh diatas memiliki 2 query param yang pertama adalah name=harry dan location=bali
// di Hapi anda bs mendapatkan nilai dr query Param melalui request.query
/**
* server.route({
method: 'GET',
path: '/',
handler: (request, h) => {
const { name, location } = request.query;
return `Hello, ${name} from ${location}`;
},
});
*/
// --Latihan Query param
// kita akan menambahkan dukungan bahasa terhadap path /hello/{name} yang sudah dibuat.
// bila path tsb memiliki query lang dengan nilai id, maka server akan menanggapi dengan pesan "hai,{name}!"
// selain itu, biarkan pesan tetap sama seperti latihan sebelumnya
// buka router.js dan pada fungsi handler GET /hello/{name} dapatkan nilai query lang melalui properti request.query
/**
* {
method: 'GET',
path: '/hello/{name?}',
handler: (request, h) => {
const { name = "stranger" } = request.params;
const { lang } = request.query;
return `Hello, ${name}!`;
},
},
*/
// lalu sesuaikan pesan kembalian handler berdasarkan evaluasi nilai lang sbb:
/**
* {
method: 'GET',
path: '/hello/{name?}',
handler: (request, h) => {
const { name = "stranger" } = request.params;
const { lang } = request.query;
if(lang === 'id') {
return `Hai, ${name}!`;
}
return `Hello, ${name}!`;
},
},
*
*/
// simpan perubahan pada berkas route.js lalu jalankan server, lalu lakukan request seperti di bawah ini:
// curl -X GET http://localhost:5000/hello/dicoding?lang=id
// output: Hai, dicoding!
// curl -X GET http://localhost:5000/hello/dicoding
// output: Hello, dicoding!