Best Practice untuk API Error | PZN Reaction

Поделиться
HTML-код
  • Опубликовано: 4 ноя 2024
  • Best Practice untuk API Error | PZN Reaction
    #programmerzamannow
    JOIN PREMIUM : www.youtube.co...
    DISCORD PREMIUM : • Post
    Donasi :
    Saweria : saweria.co/Pro...
    Social Media :
    Instagram : / programmerzamannow
    Facebook : / programmerzamannow
    Telegram : t.me/Programme...
    RUclips : / programmerzamannow

Комментарии • 75

  • @alfuady
    @alfuady 4 месяца назад +16

    {message, data}
    struktur terbaik sejauh ini sejak 2014 gua implement Rest API

  • @alvinxyz7419
    @alvinxyz7419 4 месяца назад +6

    Status Code: 200 OK
    Body:
    {
    status: "error"
    }
    😅

  • @sabilhaq
    @sabilhaq Месяц назад

    mau bertanya, kalau yang menentukan semua edge case itu apakah developer nya saja? atau dari QA? atau semua?

  • @kemaladityaz9833
    @kemaladityaz9833 4 месяца назад +5

    kadang males ngingetin krna takut di anggap nambah2in kerjaan, eh malah saya yg kbagian frontend yg keteteran 😫

  • @akhmadali5064
    @akhmadali5064 29 дней назад

    kalo di express cukup gini aja (res.status(xxx).json({ data: .. })) atau dituliskan status codenya juga di jsonnya?

  • @Ariprw
    @Ariprw 4 месяца назад +5

    Bang Eko bahas backup data di production dong baiknya seperti apa 🙌🏻🔥🙌🏻

  • @sayedkhaidirali7414
    @sayedkhaidirali7414 4 месяца назад

    saya biasanya kalo error stack itu cuma sampe log level aja, ga sampe response ke front-end, kecuali sedang dalam development, jadi biasanya kita bikin kondisi, untuk non-production env, kita balikin error stack nya kedepan, biar kalo misalnya error nya ga di tangkap di backend, frontend, dan juga QA mungkin detect error tersebut saat proses development

  • @slingingslasher7427
    @slingingslasher7427 4 месяца назад +3

    saya masih belajar
    Untuk API saya biasa pakai struktur template seperti ini
    id : string , ini sama seperti request_id nya pak eko biasanya formatnya username+ Unix time
    took : number
    data : T extends Object | null
    error : K extends Object | null
    message : string
    Untuk yang error yang bagian errornya itu biasanya
    count : number | null , kalau error 429
    form : T extends Record | null , ini buat error kalau validasi form gagal yang T itu sesuai interface form nya.
    untuk error yang sensitif misal errornya di class apa,SQL,line nya dimana di file apa itu gak dikirim ke response error, yang dikirim paling internal server error di message nya wkwk, informasi error seperti itu dikirimnya ke log
    Kalau pesan errornya kan udah ada di bagian message,
    Kalau status itu udah dikirim di back end nya, jadi yang diatas itu cuma isi response ya aja kurang lebih template nya seperti itu.
    Btw yang mau koreksi atau ngasih saran reply saja komentar ini, kita sama-sama belajar.

  • @speksuperhero
    @speksuperhero 4 месяца назад +2

    Saya tau tuh yg dibahas sama bapak yg "error":"errors" 😂😂
    Salah satu api yg sering bgt dipake di Indonesia 🤣🤣🤣

  • @lyrihkaesa
    @lyrihkaesa 4 месяца назад +4

    Agak susah sih kalau responnya acak" di saat harus consume api di type language, bikin banyak model respon yang perlu dibuat.

  • @yuu.relief
    @yuu.relief 4 месяца назад +6

    HTTP Status 418 : I'm a teapot

  • @zulfikarsuwardi4015
    @zulfikarsuwardi4015 4 месяца назад

    Pak Eko ada niatan untuk buat materi Laravel Zero ga ?

  • @ryu-xd
    @ryu-xd 4 месяца назад

    22:53 bash script di dalam format extension file jpg atau png emang di eksekusi ? perasaan ga bisa

  • @minecrawlerarmor
    @minecrawlerarmor 4 месяца назад

    Pak Eko, ingin bertanya apakah bahasa low level seperti c/c++ worth di pelajari untuk loker indonesia

  • @tinkerbell2182
    @tinkerbell2182 4 месяца назад +1

    Kang eko mau pembahasan bikin loging error yg pakai request_id itu ya
    atau ada source video contohnya ga ya . Nuhun kang 🙂

  • @yasinhabib2029
    @yasinhabib2029 4 месяца назад

    debug mode matiin, selalu gunakan try catch untuk meng-override exception

  • @Fuji-gn9nx
    @Fuji-gn9nx 4 месяца назад

    hal yang perlu diimprove saat ini adalah kemampuan debugging, pengendalian error, yang seperti itu, bukan lagi cara membuat. karena barusan aku kesel aplikasi mobile banking error ga jelas tulisannya "mohon install apk nya dari playstore" lah apk aku dari dulu dari playstore njir sebelumnya lancar tau-tau error kayak gitu njir :( seharusnya sebelum release update itu di test sampe bener-bener ga ada bug, ini ada bug direlease, sekelas apk bank lagi yang digunakan orang banyak dan penting karena untuk bayar belanja mereka, tadi ga bisa beli jadinya padahal promo murah

  • @bangkuwarteg4719
    @bangkuwarteg4719 4 месяца назад

    Pak ada rencana buat bikin course belajar python?

  • @egipebriyawan1455
    @egipebriyawan1455 4 месяца назад

    terhitung 3 kali divideo ini Pak Eko bilang "saya sih gak pernah ngasih status code" haha. bener2 keukeuh ceuk sunda mah . 😁

  • @nolep5555
    @nolep5555 Месяц назад

    kalau error array seperti itu, di frontend nampilinnya cuma 1 aja atau gimana ya?

  • @RohitSormaes-t6j
    @RohitSormaes-t6j 2 месяца назад

    Smith Dorothy Perez Mark Lewis George

  • @ariflapengo3215
    @ariflapengo3215 4 месяца назад

    mas mau tanya di menit 10:54 dijelaskan biasanya atau lebih baik errornya di detailkan gitu ya
    tapi masalahnya klw kita nemuin suatu error kan langsung di break mas, misal di username kurang panjang nah ini langsung di break dan di return jadi keputus tuh pengecekan lainnya
    apakah baiknya kita kalau nemuin error2 seperti ini baiknya di teruskan dulu pengecekannya agar mendapatkan validitas error message secara keseluruhan?

    • @ProgrammerZamanNow
      @ProgrammerZamanNow  4 месяца назад

      harusnya temuin semua error dulu, di tiap teknologi udah ada validation framework, gak perlu satu2 lagi pake if else

  • @bisa_fullstack
    @bisa_fullstack 4 месяца назад

    bener banget pak eko kalo response error nya gak informatif seperti itu, seakan akan kita menerawang sendiri dimana errornya bagai seorang spiritual😁

  • @programmerviewid1768
    @programmerviewid1768 4 месяца назад +1

    {status:200,message:"bad request",data:[]} 😂😂

  • @youtube7959
    @youtube7959 4 месяца назад

    biasa bikin API pke apa nih ?

  • @YusnitaPanut-tg6ge
    @YusnitaPanut-tg6ge 4 месяца назад

    Kang Eko, mau tanya
    Kalau ada kolom di db itu unique, tapi pakai soft delete juga, baiknya bagaimana ngasih tau ke client yang consume API kita?
    Kadang waktu cek di FE ga ada row itu, tapi waktu create gagal karena unique, waktu di cek di db ternyata ada tapi sudah di soft delete.
    Best practice nya bagaimana itu Kang

    • @ProgrammerZamanNow
      @ProgrammerZamanNow  4 месяца назад +1

      Waktu soft delete, jadiin null kolom unik nya

    • @gerinsz
      @gerinsz 16 дней назад

      di postgres bisa pakai
      CREATE UNIQUE INDEX index_unique_users_email ON "users" USING btree(email) WHERE deleted_at IS NULL;

  • @wahyuafendi9366
    @wahyuafendi9366 2 месяца назад

    Ini ni yang bikin sering berantem fe sama be wkwwkkw

  • @mhwyns
    @mhwyns 4 месяца назад

    klo status code disaya itu biasanya berupa "code" tertentu untuk translate message error spesifik kebutuhan bisnis... misal ERCA001 dkk gt lah bang

    • @ProgrammerZamanNow
      @ProgrammerZamanNow  4 месяца назад +3

      cocok untuk mesin, gak cocok untuk manusia, orang bingung dengan error kode seperti ini

    • @samuelhandoko5320
      @samuelhandoko5320 4 месяца назад

      @@ProgrammerZamanNow keknya maksudnya gt deh.. nanti dari "kode" error itu di translate di fenya jadi bahasa manusia, jadi dari sisi user tahu errornya apa (even banyak kasus user tetep tanya errornya kenapa 😁), kita sebagai programmer juga bisa pinpoin buat checkingnya lebih cepet (kasus di saay programnya memang gede dan macem2,, klo di saya biar sat set carinya)

    • @MuhamadIlham
      @MuhamadIlham 4 месяца назад

      @@samuelhandoko5320yap gua juga nambahin itu biar ngetracenya mudah

    • @grunt515
      @grunt515 2 месяца назад

      ERCA001 : Error Response Code Application no. 001
      #I'mRobot

  • @ptf42069
    @ptf42069 4 месяца назад

    yang penting itu important

  • @rafinurromadhon6905
    @rafinurromadhon6905 4 месяца назад

    sangat bermanfaat mas eko bagi saya yang suka asal kasih message wkwk. terima kasih

  • @didirumapea6767
    @didirumapea6767 4 месяца назад

    pake joi/zod bagus ga pak eko ?

  • @startFromNull
    @startFromNull 4 месяца назад +3

    Paling bete ketika respon error tapi messagenya 200😊😅😅😅😅😅😮😮😢😢😢

    • @reinjin2371
      @reinjin2371 4 месяца назад

      jadi maksutnya sukses diproses tapi juga eror😂

    • @slingingslasher7427
      @slingingslasher7427 4 месяца назад

      @@reinjin2371 di hasil response nya error
      Tapi status yg dibuat dari back end 200 wkwkwk

    • @simpingsyndrome
      @simpingsyndrome 4 месяца назад

      Pass magang nih, APInya kek gini ngesellin, semuanya 200OK 🥴

  • @VinaPrilli
    @VinaPrilli 4 месяца назад

    Pak review lok bit 32 dong

  • @nurkholidf
    @nurkholidf 4 месяца назад

    Pak eko masih sodaraan sama leon kennedy ?

  • @jeffryansyahputra3765
    @jeffryansyahputra3765 4 месяца назад

    izin nanya bang,
    @21:20
    kalo untuk edit data biasanya saya meletakkan id yang akan diedit pada hidden input (HTML+PHP), apakah cara ini tidak aman? bagaimana cara memvalidasi nya.. atau mengamankan nya?

    • @slingingslasher7427
      @slingingslasher7427 4 месяца назад

      Ngirim datanya lewat fetch bang

    • @Fuji-gn9nx
      @Fuji-gn9nx 4 месяца назад

      aman harusnya, metod request post, karena modal id aja ga bakal bisa ngehack kalau ga ter autentifikasi, makanya pastiin api nya hanya bisa diakses yang sudah terautentifikasi

  • @JomilaHosan
    @JomilaHosan 2 месяца назад

    Lee Karen Clark Melissa Thompson Barbara

  • @insideofcode
    @insideofcode 4 месяца назад

    10:18 kurang fokus nih pak eko, bilangnya 200 karakter tapi yang muncul angaka 20 😄

    • @ProgrammerZamanNow
      @ProgrammerZamanNow  4 месяца назад

      AI nya belum bisa nebak isi pikiran saya sepertinya

    • @insideofcode
      @insideofcode 4 месяца назад

      @@ProgrammerZamanNow pak ada pembahasan multitenant architecture ga ?

  • @laluisariat-tamimi1511
    @laluisariat-tamimi1511 2 месяца назад

    Status, messages, resources

  • @AktarFardose
    @AktarFardose 2 месяца назад

    Gonzalez Donna Gonzalez Jeffrey Martin Larry

  • @kamsurlabs
    @kamsurlabs 4 месяца назад

    konsisten, bersih dan informatif adalah koentji

  • @refanfernando6149
    @refanfernando6149 4 месяца назад

    tiap error dikirim "something bad happened" biar errornya bikin penasaran banyak orang 🤣🤣

    • @ramdoni3935
      @ramdoni3935 4 месяца назад

      diri sendiri bilek : "sorry ya aku ini sebenernya programmer yang susah di tebak....

  • @jackwilliams4398
    @jackwilliams4398 4 месяца назад

    kapankah kita butuh grpc?

    • @slingingslasher7427
      @slingingslasher7427 4 месяца назад

      Kalau make golang

    • @Fuji-gn9nx
      @Fuji-gn9nx 4 месяца назад

      ​@@slingingslasher7427make semua bahasa bisa ga hanya golang

  • @emitvi2347
    @emitvi2347 4 месяца назад

    Halo Bang Eko, izin stich ya
    Saya rasa yg dimaksud di poin "Document common errors" (13:20) tuh agar yg bikin API menyertakan detil struktur pesan error, contoh dari pesan error-nya, dan saran buat mengatasi error-nya
    Misal dengan contoh dari Bang Eko di 15:41, maka di dokumentasi API baiknya dijelasin apa maksudnya UNIQUE, TOO_LONG, dan MUST_BE_LETTERS. Terus bisa juga dikasi tau apa yang bisa menyebabkan API me-return kode2 tersebut

  • @belajarcoding6657
    @belajarcoding6657 4 месяца назад

    Keren

  • @juancesarAndrianto
    @juancesarAndrianto 4 месяца назад

    kalau ak tak bikin middleware global jadi response erorr dan response suksesnya itu sama semua

    • @Fuji-gn9nx
      @Fuji-gn9nx 4 месяца назад

      wa ini salah kayaknya bang, kalau gitu kan nanti erro database sama error akun sama pesan errornya, alhasil bingung

    • @juancesarAndrianto
      @juancesarAndrianto 4 месяца назад

      @@Fuji-gn9nx kalau error db misal, code 500 langsung lempar aja errror nya yang penting struktur datanya sama baik error atau yang sukses.

    • @Fuji-gn9nx
      @Fuji-gn9nx 4 месяца назад +1

      @@juancesarAndrianto itu buat user? yang buat developer gimana? kamu buat log ga? isi lognya kayak gimana? struktur datanya jelas sama kan sama-sama pakai database yang sama, ga dibedakan databasenya. bahkan kalau itu pesan error untuk user itu masih ga informatif kalau semua pesan error sama karena disetting lewat middleware, misal pesan error di middleware mu "error internal server" dengan kode 500, si user pas login salah memasukkan password dapat tulisan pesan error "error internal server", si usernya mikir gini tuh "waduh servernya error" alhasil dia akan nunggu servernya membaik bukan mengklik lupa password padahal errornya berkaitan dengan password, tetapi karena pesan errornya "error internal server" si user jadi ga ada pikiran buat klik lupa password, tapi malah nunggu server membaik padahal servernya udah baik, alhasil user ga pernah berhasil login karena dia tidak tau kalau yang error tuh passwordnya karena pesan errornya "error internal server"

  • @muasx1985
    @muasx1985 4 месяца назад

    nonton ini jadi ingat dulu pernah integrasi dengan "ekspedisi yang namanya sudah gede". detail error validationnya gak informatif banget hanya sekedar mengenai "field tidak sesuai dengan validasi". sudah begitu di dokumentasinya pun kurang jelas per field nya mengenai apa dan rules gimana. jadinya tiap ada error validasi mesti up ke group IT nya mengenai error tersebut.

    • @muasx1985
      @muasx1985 4 месяца назад

      dan semoga sekarang sudah gak seperti tahun kemaren lagi