{"id":350,"date":"2020-03-21T03:16:30","date_gmt":"2020-03-21T03:16:30","guid":{"rendered":"https:\/\/unydevelopernetwork.com\/?p=350"},"modified":"2020-03-21T03:17:13","modified_gmt":"2020-03-21T03:17:13","slug":"tutorial-merancang-ui-ux-dan-membuat-notifikasi-dengan-jframe-netbeans","status":"publish","type":"post","link":"https:\/\/unydevelopernetwork.com\/index.php\/2020\/03\/21\/tutorial-merancang-ui-ux-dan-membuat-notifikasi-dengan-jframe-netbeans\/","title":{"rendered":"Tutorial: Merancang UI\/UX dan Membuat Notifikasi dengan JFrame (Netbeans)"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>\n<p>Selamat datang kembali di blogs UNYDeveloperNetwork. Pada tutorial kali ini, Saya akan memberikan tutorial merancang dan membuat notifikasi dengan menggunakna JFrame (Netbeans). <\/p>\n\n\n\n<!--more-->\n\n\n\n<p>Apakah itu notifikasi? Merujuk pada definisi notifikasi pada <strong>Google Developer Training<\/strong>, notifikasi adalah pesan yang ditampilkan aplikasi kepada pengguna di luar UI Normal Aplikasi. Kemudian apa sajakan komponen &#8211; komponen UI yang mesti ada di dalam sebuah notifikasi&#8230;? Secara umum, komponen &#8211; komponen UI yang mesti ada dalam sebuah notifikasi adalah sebagai berikut.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Icon Aplikasi (opsional). Tidak wajib ada, jika ada lebih bagus. Jika ada, akan memudahkan user mengetahui ada notifikasi dari sebuah apps. Jika tidak ada pun tidak apa &#8211; apa.<\/li><li>Nama Aplikasi (wajib). Nama aplikasi harus jelas dan terang supaya user yang memperoleh notifikasi tidak menganggap notifikasi yang diterimanya adalah spam<\/li><li>Konten Notifikasi (wajib). Konten notifikasi dalam hal ini dibagi menjadi dua, ada yang publik dan ada yang privat. Konten notifikasi dapat menampilkan potongan dari sebuah konten utuh jika bersifat publik dan tidak menyangkut dengan masalah privasi user. Namun, apabila konten yang dinotifikasikan adalah hal yang bersifat privat, maka tidak boleh menampilkan sedikitpun potongan dari sebuah konten utuhnya.<\/li><li>Waktu Notifikasi (opsional). Sebuah notifikasi dapat menampilkan waktu yang menunjukkan kapan notifikasi itu muncul sehingga memudahkan user mengetahui kapan sebuah notifikasi masuk.<\/li><li>Tombol untuk menutup \/ menyembunyikan notifikasi (wajib). Sebuah notifikasi wajib menampilkan sebuah tombol yang dapat dipergunakan oleh user untuk menutup atau menyembunyikan notifikasi yang muncul di layar monitor.<\/li><\/ul>\n\n\n\n<p>Selanjutnya, setelah kita membahas komponen &#8211; komponen UI yang mesti ada di sebuah notifikasi, sekarang kita akan membahas poin &#8211; pon UX yang harus ada dalam sebuah notifikasi. Apa sajakah itu?<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Kemunculan notifikasi harus berdasarkan pada pilihan user. Apabila user tidak menginginkan sebuah notifikasi, maka notifikasi tidak akan muncul. Begitu juga sebaliknya<\/li><li>Notifikasi biasa harus tertutup \/ tersembunyi secara otomatis dalam waktu antara 3 sampai 4 detik tanpa ada aksi yang melibatkan user. <\/li><li>Notifikasi yang bersifat sangat penting (misal notifikasi tsunami, gempa, dll) tidak boleh tertutup \/ tersembunyi secara otomatis dan harus melibatkan aksi user untuk menutup \/ menyembunyikannya.<\/li><li>Notifikasi yang memiliki konten sama tidak boleh muncul secara berulang &#8211; ulang.<\/li><\/ul>\n\n\n\n<p>Baik, Saya sudah menjelaskan tentang desain UI dan UX tentang notifikasi. Sekarang saatnya kita akan merancang dan membuat notifikasi dengan menggunakan Java. Namun, sebelum berpanjang lebar, pada tutorial ini Saya tidak akan menjelaskan mulai dari proses pembuatan project dan layouting. Jika Anda membutuhkan tutorial untuk proses pembuatan project Aplikasi Java, dan layouting JFrame, Anda dapat membaca tutorialnya <a href=\"https:\/\/unydevelopernetwork.com\/index.php\/2019\/11\/27\/membuat-aplikasi-desktop-untuk-windows-dengan-java\/\">di sini<\/a>. Langsung saja, kita mulai tutorial ini dari <strong>Layout Aplikasi<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Layout Aplikasi<\/h2>\n\n\n\n<p>Untuk layout Aplikasi, buatlah 3 layout JFrame yakni: (1) MainActivity; (2) Notifikasi; (3) SecondActivity; Berikut adalah Layout dan Propertiesnya.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1. MainActivity<\/h4>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"310\" height=\"116\" src=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2020\/03\/image-60.png\" alt=\"\" class=\"wp-image-356\" srcset=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2020\/03\/image-60.png 310w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2020\/03\/image-60-300x112.png 300w\" sizes=\"auto, (max-width: 310px) 100vw, 310px\" \/><\/figure><\/div>\n\n\n\n<p>Properties:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"\"><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\">No<\/td><td>Komponen<\/td><td>Property<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">1<\/td><td>Class Name<\/td><td>MainActivity.java<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">2<\/td><td>JFrame<\/td><td>&#8211; ExitOnClose<br>&#8211; resizable (false)<br>&#8211; Type: normal<br>&#8211; Size: 278, 84<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">3<\/td><td>JChecbox<\/td><td>&#8211; Variable Name: notificationEnabler<br>&#8211; Text: Enable Notification<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">4<\/td><td>JButton<\/td><td>&#8211; Variable Name: btnTestNotification<br>&#8211; Text: Test Notification<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">2. NotificationActivity<\/h4>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"402\" height=\"132\" src=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2020\/03\/image-61.png\" alt=\"\" class=\"wp-image-358\" srcset=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2020\/03\/image-61.png 402w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2020\/03\/image-61-300x99.png 300w\" sizes=\"auto, (max-width: 402px) 100vw, 402px\" \/><\/figure><\/div>\n\n\n\n<p>Properties:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"\"><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\">No<\/td><td>Komponen<\/td><td>Property<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">1<\/td><td>Class Name<\/td><td>NotificationActivity.java<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">2<\/td><td>JFrame<\/td><td>&#8211; Do Nothing<br>&#8211; AlwaysOnTop (true)<br>&#8211; undecorated (true)<br>&#8211; resizable (false)<br>&#8211; size: 370, 99<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">3<\/td><td>JPanel1<\/td><td>&#8211; background: 51, 51, 51<br>&#8211; Border: LineBorder; Color: 204, 204, 204, Thickness: 1<br>&#8211; Size: 370, 99<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">4<\/td><td>JLabel1<\/td><td>Sebagai Icon<br>&#8211; size: 48, 48<br>&#8211; icon: 48, 48<br>&#8211; Horizontal Fixed gap: default, default<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">5<\/td><td>JLabel2<\/td><td>Sebagai Judul App Pada Notification<br>&#8211; size: 120, 19<br>&#8211; Text: My Notification App<br>&#8211; Font: Dialog, 14 Plain<br>&#8211; ForegroundColor: System Palette, Control<br>&#8211; Horizontal Fixed Gap: default large<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">6<\/td><td>JLabel3<\/td><td>Sebagai Konten Notifikasi<br>&#8211; Size: 83, 15<br>&#8211; Text: Contoh Notifikasi<br>&#8211; Font: Dialog, 11 Plain<br>&#8211; Foreground Color: System Palette, Control<br>&#8211; Horizontal Fixed Gap: default small<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">7<\/td><td>JButton<\/td><td>&#8211; Variable Name: btnOpenNotification<br>&#8211; Font: Dialog, 11 Plain<br>&#8211; Text: Buka Notifikasi<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">8<\/td><td>JLabel<\/td><td>Sebagai tombol close<br>&#8211; Variable Name: btnClose<br>&#8211; Size: 14, 32<br>&#8211; Text: &lt;html&gt;\u00d7&lt;\/html&gt;<br>&#8211; Foreground Color: System Palette, Control<br>&#8211; Cursor: HAND_CURSOR<br>&#8211; Tooltip: Tutup Notifikasi<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">3. SecondActivity<\/h4>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"425\" height=\"324\" src=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2020\/03\/image-62.png\" alt=\"\" class=\"wp-image-359\" srcset=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2020\/03\/image-62.png 425w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2020\/03\/image-62-300x229.png 300w\" sizes=\"auto, (max-width: 425px) 100vw, 425px\" \/><\/figure><\/div>\n\n\n\n<p>Properties:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"\"><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\">No<\/td><td>Komponen<\/td><td>Property<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">1<\/td><td>Class Name<\/td><td>SecondActivity.java<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">2<\/td><td>JFrame<\/td><td>&#8211; Dispose<br>&#8211; resizable (false)<br>&#8211; Type: normal<br>&#8211; Size: 400, 300<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">3<\/td><td>JLabel<\/td><td>&#8211; size: 161, 19<br>&#8211; Text: Ini adalah Second Activity<br>&#8211; Font: Dialog, 14 Plain<br>&#8211; Horizontal Fixed Gap: default<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Logic Code<\/h2>\n\n\n\n<p>Setelah membuat layout selesai, kita beralih ke logic code. Pada bagian ini kita akan memberikan nyawa pada program kita dengan menambahkan beberapa kode ke dalamnya. Saya mohon sekali lagi, jika Anda beginner untuk JFrame, silakan baca artikel <a href=\"https:\/\/unydevelopernetwork.com\/index.php\/2019\/11\/27\/membuat-aplikasi-desktop-untuk-windows-dengan-java\/\">ini<\/a> terlebih dahulu.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1. MainActivity<\/h4>\n\n\n\n<p>Pertama, kita buat variable dengan tipe data integer terlebih dahulu untuk menghandle konfigurasi &#8220;perizinan&#8221; notifikasi. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>private int displayNotification = 0;<\/code><\/pre>\n\n\n\n<p>Setelahnya kita isikan blok kode berikut pada <strong>actionPerformed<\/strong> btnTestNotification untuk memunculkan notifikasi apabila &#8220;diizinkan&#8221;.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>if(displayNotification == 1){\n     new NotificationActivity().setVisible(true);\n}<\/code><\/pre>\n\n\n\n<p>Diteruskan dengan mengisikan blok kode berikut untuk mengubah konfigurasi izin notifikasi pada <strong>actionPerformed<\/strong> notificationEnabler.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>if(notificationEnabler.isSelected()){\n     displayNotification = 1;\n}\nelse{\n     displayNotification = 0;\n}<\/code><\/pre>\n\n\n\n<p>Terakhir, jangan lupa set <strong>Look &amp; Feel<\/strong> menjadi &#8220;Windows&#8221;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">2. NotificationActivity<\/h4>\n\n\n\n<p>Pada NotificationActivity, ada banyak hal yang harus kita kerjakan. Pertama, kita harus membuat satu method untuk memposisikan Notification pada layar. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>private void initLevel0(){\n        Dimension scrSize = Toolkit.getDefaultToolkit().getScreenSize();\/\/ size of the screen\n        Insets toolHeight = Toolkit.getDefaultToolkit().getScreenInsets(this.getGraphicsConfiguration());\/\/ height of the task bar\n        this.setLocation(scrSize.width - this.getWidth() - 20, scrSize.height - toolHeight.bottom - this.getHeight() - 20);\n}<\/code><\/pre>\n\n\n\n<p>Kita perhatikan dari baris pertama.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Dimension scrSize = Toolkit.getDefaultToolkit().getScreenSize();\/\/ size of the screen<\/code><\/pre>\n\n\n\n<p>Fungsi tersebut digunakan untuk mengukur dimensi layar komputer kita.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Insets toolHeight = Toolkit.getDefaultToolkit().getScreenInsets(this.getGraphicsConfiguration());\/\/ height of the task bar<\/code><\/pre>\n\n\n\n<p>Selanjutnya, fungsi di atas berfungsi untuk mengukur tinggi taskbar.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>this.setLocation(scrSize.width - this.getWidth() - 20, scrSize.height - toolHeight.bottom - this.getHeight() - 20);<\/code><\/pre>\n\n\n\n<p>Terakhir, adalah fungsi untuk meletakkan frame Notification. Dapat kita perhatikan, posisi X, dan Y saya kurangi sebesar 20 point supaya frame notifikasi tidak terlalu menempel dengan sisi kanan layar dan sisi atas taskbar. <\/p>\n\n\n\n<p>Selanjutnya, kita buat method untuk menghandle timing notification sehingga dapat hilang (ter-dispose) dengan sendirinya. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>private void initLevel1(){\n        new Thread(){\n            @Override\n            public void run() {\n                try {\n                    Thread.sleep(4000); \/\/ time after which pop up will be disappeared.\n                    dispose();\n                } catch (InterruptedException e) {\n                    e.printStackTrace();\n                }\n            };\n        }.start();\n    }<\/code><\/pre>\n\n\n\n<p>Dapat kita perhatikan dari method di atas, Saya membuat thread baru yang  Saya fungsikan sebagai timer selama 4 detik untuk men-dispose notification.<\/p>\n\n\n\n<p>Setelah kedua method selesai dibuat, pangill kedua method pada constructor NoticationActivity.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public NotificationActivity() {\n    initComponents();\n    initLevel0();\n    initLevel1();\n}<\/code><\/pre>\n\n\n\n<p>Selanjutnya, kita isikan blok kode berikut pada <strong>btnCloseMouseClicked<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dispose();<\/code><\/pre>\n\n\n\n<p>Fungsinya adalah untuk mendispose notification ketika tombol (&#8216;x&#8217;) diklik.<\/p>\n\n\n\n<p>Terakhir, kita isikan blok kode berikut pada <strong>btnOpenNotificationActionPerformed<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>new SecondActivity().setVisible(true);\ndispose();<\/code><\/pre>\n\n\n\n<p>Fungsi di atas berfungsi untuk memanggil <strong>SecondActivity<\/strong> dan mendispose notification<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">3. SecondActivity<\/h4>\n\n\n\n<p>Untuk SecondActivity tidak ada kode khusus yang dimasukkan. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Run!<\/h2>\n\n\n\n<p>Setelah semua selesai, dan dipastikan tidak ada error. Saatnya kita run untuk melihat hasilnya.<\/p>\n\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"jetpack-video-wrapper\"><iframe loading=\"lazy\" title=\"Notifications With Java Demo\" width=\"640\" height=\"480\" src=\"https:\/\/www.youtube.com\/embed\/XXBR_ofWhYQ?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/div>\n<\/div><\/figure>\n\n\n\n<p>Dapat kita lihat dari video, ketika Enable Notifications tidak aktif, maka notifikasi tidak dapat ditampilkan. Namun sebaliknya, ketika Enable notifications aktif, maka notifikasi akan tampil. Ketika notifikasi tampil, kita dapat membiarkannya hingga notifikasi tersebut hilang sendiri, kita bisa mengklik tombol &#8220;Buka Notifikasi&#8221; yang akan menampilkan second Activity dan mendisposes Notifikasi, kita bahkan juga bisa mengklik tombol (&#8216;x&#8217;) untuk menutup notifikasi. <\/p>\n\n\n\n<p>Demikian artikel tutorial kali java ini. Semoga bermanfaat untuk kita semua. Anda dapat mengunduh project ini melalui link yang tersemat di bagian akhir artikel ini. Apabila Anda memiliki pertanyaan, jangan sungkan meninggalkannya di kolom komentar. Jika Anda ingin mencuplik artikel ini, jangan lupa juga sertakan URL nya. <\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Unduh Project<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/github.com\/milstrike\/UNYDeveloperNetwork\/tree\/master\/MyNotification\">MyNotifications (github)<\/a><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>Selamat datang kembali di blogs UNYDeveloperNetwork. Pada tutorial kali ini, Saya akan memberikan tutorial merancang dan membuat notifikasi dengan menggunakna JFrame (Netbeans).<\/p>\n","protected":false},"author":1,"featured_media":366,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3,2],"tags":[58,5,57,22,68,59,4],"class_list":["post-350","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java","category-tutorial","tag-desktop-app","tag-java","tag-jframe","tag-netbeans","tag-notifications","tag-programming","tag-tutorial"],"featured_image_src":"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2020\/03\/notificationss.jpg","author_info":{"display_name":"Muhammad Irfan Luthfi","author_link":"https:\/\/unydevelopernetwork.com\/index.php\/author\/admin\/"},"jetpack_featured_media_url":"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2020\/03\/notificationss.jpg","jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/posts\/350","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/comments?post=350"}],"version-history":[{"count":10,"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/posts\/350\/revisions"}],"predecessor-version":[{"id":368,"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/posts\/350\/revisions\/368"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/media\/366"}],"wp:attachment":[{"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/media?parent=350"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/categories?post=350"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/tags?post=350"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}