TUTORIAL SPRING BOOT RESTFUL API (BAHASA INDONESIA)

Sdílet
Vložit
  • čas přidán 23. 08. 2024

Komentáře • 64

  • @akdewi123
    @akdewi123 Před 11 měsíci +34

    Saya belajar Spring hanya dri tutorial ini utk mengerjakan tugas programming utk interview kerja. Alhamdulillaah saya di terima di perusahaan transportasi di Jerman sbg Junior Java Programmer. Terima kasih pak eko utk ilmunya. Sukses selalu pak

    • @andriilham5625
      @andriilham5625 Před 9 měsíci

      Itu online bang?

    • @syaifulanwar61
      @syaifulanwar61 Před 7 měsíci +1

      Berarti harus berterima kasih sama Pak Eko, mudah2an berkenan donasi untuk Pak Eko agar pak Eko tambah semangat dalam membuat konten yg bermanfaat untuk kita semua. Salam sukses.

    • @diasutsman
      @diasutsman Před měsícem

      Sebelumnya memang ada pengalaman java atau nggak bang?

  • @mastermind064
    @mastermind064 Před 11 měsíci +5

    buat yang awam dg spring boot, ini adalah berkah. tutorial gratis dengan level pemrograman panutan. jangan bosan2 bikin tutorial ya om, sukses selalu

  • @user-oy6dg4hg3x
    @user-oy6dg4hg3x Před 6 měsíci

    Di butuhkan programer / ahli i.t . Penghasilan tak terbatas. Yg minat komen dong nanti saya critain dari a-z🎉

  • @kawungpundung9005
    @kawungpundung9005 Před 10 měsíci

    Hatur nuhun pisan Kang tutorialna🙏🙏🙏

  • @zonamasbro
    @zonamasbro Před 9 měsíci

    Keren pak, ditunggu buat lanjutan springboot deployment nya🔥

  • @brianpraditama872
    @brianpraditama872 Před rokem +1

    rapi banget 😢 mas kalo boleh request ajarin buat client yg fungsinya untuk ambil data dari api lain secara realtime

  • @mohamadhandynugraha
    @mohamadhandynugraha Před rokem

    buset intellij ideanya yang ultimate ya mas kaget liatnya bisa test connection mysql dari plugin intellij ideanya 😁

  • @RiansyahTohamba
    @RiansyahTohamba Před rokem

    1:54:50 buat file konfigurasi
    thanks pa eko

  • @muhammaddanihaikal
    @muhammaddanihaikal Před rokem +1

    ditunggu untuk express js restful api nya pak😁

  • @fahdialan3087
    @fahdialan3087 Před rokem

    Kang gabung di yt ini sama gak seperti di Udemy? Apa di yt dpet sertfikat jg atau sekedar bisa liat video yg premium aja?

  • @boysitorus2386
    @boysitorus2386 Před 3 měsíci

    Untuk part Update Contact, kenapa kita tidak langsung memakai id yang kita dapat dari params {contactId} ?, melainkan harus men-set si request.getId() nya menjadi value dari params {contactId} terlebih dahulu??
    mohon ilmu nya masseh 🙏

  • @destafajri_
    @destafajri_ Před rokem +4

    Kang best practice bikin unit test di BE gmn ya? Jujur saya masih bingung yg ditest mana aja😢

    • @ahmadihsanullahrabbani8282
      @ahmadihsanullahrabbani8282 Před rokem

      wah sama

    • @rusliabdulgani9920
      @rusliabdulgani9920 Před rokem

      kl test intinya lo hrus tentuin positive test dan negative test nya dlu, semua kemungkinan output dr suatu api sebisa mungkin di cover, bayangin aja gmn fe consume api nya, kl kondisi A gmn, kondisi B gmn, kalo bisa pake TDD, jadi test dl d buat, kl udh baru coding nya..

    • @destafajri_
      @destafajri_ Před rokem

      Nah biasanya yg dibuat unit testnya itu repositorynya kah? Service atau bisnisnloginya kah? Controllernya kah? (Jujur saya belajar BE sendiri ga punya mentor kecuali youtube dan udemy serta medium)
      Jadi harap dimaklumi mas.. karena minim pengalaman real case dunia kerja.. hehehe

    • @rusliabdulgani9920
      @rusliabdulgani9920 Před rokem

      @@destafajri_ repository? test itu kan ngetest codingan kita spy minim bugs, ga ad hubungan lngsung sm repository, unit test itu ngetest logic dan bisnis proses, dua" nya di test, coba deh cari di youtube tutorial testing banyak, sesuaikan dg bahasa pemrograman yg di pelajari

  • @fadhilmunifdermawan3718

    Mantap massss

  • @arifin9507
    @arifin9507 Před 6 hodinami

    plugins intelij ideanya apa aja ya ini?

  • @rizkysiregar1-fj3hq
    @rizkysiregar1-fj3hq Před rokem

    Terimakasih kang

  • @muhamadrizkyfajarfebrian8224
    @muhamadrizkyfajarfebrian8224 Před 10 měsíci

    Izin bertanya pak, apakah ada materi mengenai authentication dengan menggunakan spring boot JWT web security? Terimakasih

  • @greecula
    @greecula Před rokem

    Request dengan message broker nya juga kang

  • @lolihunter9254
    @lolihunter9254 Před rokem

    mantap mas

  • @abdulgoffar5411
    @abdulgoffar5411 Před rokem

    terimakasih pak

  • @vinam2805
    @vinam2805 Před rokem

    asmkm bang saya udah gabung dan bayar pake gopay tapi tidak bisa akses video yang member only gimana ya bang solusinya

  • @satryaramayu
    @satryaramayu Před rokem

    Mau tanya om cara submit form tanpa reload page beda browser bisa ya?

  • @prasidyo
    @prasidyo Před rokem

    Request pake jwt dong kang, hehe

  • @football_id7741
    @football_id7741 Před měsícem

    Ini database nya kaya gimana bang,maaf baru mau belajar backend 🙏

  • @sultanaditia3985
    @sultanaditia3985 Před rokem

    Ditunggu Laravel Rest Apinya pak

  • @Fathhh_
    @Fathhh_ Před rokem +1

    kang untuk kebutuhan backend kira" belajar js nya sejauh mana, karna sy lg belajar js dan target sy backend

    • @rusliabdulgani9920
      @rusliabdulgani9920 Před rokem

      kl backend saran sih pake bahasa yg compile based spy lebih cepat, contoh go, kl node js interprete base jadi ga ada proses compile ke bahasa mesin, hasilnya kecepatannya akan kalah dg bahasa yg di compile dlm bhs mesin seperti go..

    • @lukmanharun890
      @lukmanharun890 Před rokem

      @@rusliabdulgani9920 balik lagi ke programmer nya bahasa pemrograman cuman tools punya kebutuhan masing masing

    • @rusliabdulgani9920
      @rusliabdulgani9920 Před rokem

      @@lukmanharun890 backend biasanya di consume sama bbrp frontend, apalagi yg msh monolitic, artinya doi kerja keras, nah kalo diimbangi sm kecepatan yg sat set, jadi performa keseluruhannya meningkat, ya ttp gbs 100% ngandelin bahasanya, ttp peran developer nya penting, spy algoritma nya efisien, mengimplemengasikan big 0 notation dg baik, gw nyaranin begini bukan cuma omong kosong, bbrp startup udh banyak yg pake go buat BE nya, mereka bukan org" bodoh yg asal pake, saya rasa mereka punya alasan kuat, dan salah satu alasannya pasti krn performance nya...

    • @lukmanharun890
      @lukmanharun890 Před rokem +1

      @@rusliabdulgani9920 tergantung studi kasus yang dibuat. untuk meningkatkan performa ada banyak cara bukan cuma bahasa. Tiap perusahaan punya teknologi masing masing contoh sektor keuangan rata rata pake Java kenapa karena udah mature, startup pake golang kenapa cepat development bahasa mudah dipelajari kekurangan rata rata minta gaji 2 digit, perusahaan biasa pake PHP atau nodejs nyari developer mudah, bahasa udah mature, sesuai kantong perusahaan.

    • @rusliabdulgani9920
      @rusliabdulgani9920 Před rokem

      @@lukmanharun890 dari bahas kecepatan pindah ke mature, ga nyambung 😅

  • @aufarijaal
    @aufarijaal Před rokem

    Apakah ada alasan khusus kang kenapa ditutorial nya table table nya dibikin pake sql langsung, bukan pakai class Entity nya?

    • @yusufmustari
      @yusufmustari Před rokem

      lebih ke efisiensi.. jadi gak perlu repot bongkar database kalo ada perubahan di tablenya

  • @user-zy1se2nb6j
    @user-zy1se2nb6j Před 9 měsíci

    mau nanya kang, cara biar ke generate auto variable nya pake var kaya di 1:10:17 gmn yaa? Terimakasih

  • @anomolisagag2270
    @anomolisagag2270 Před 5 měsíci

    9:38
    Ini intelij beneran musti version Ultimate baru bisa access Database Tools and SQL ?
    soalnya di saya ga ada tool bar itu pak

    • @anomolisagag2270
      @anomolisagag2270 Před 5 měsíci

      saya pake intelij community edition

    • @anomolisagag2270
      @anomolisagag2270 Před 5 měsíci

      mohon maaf pak, mungkin saya baru saja mengikuti channel bapak
      tapi kalau boleh, plugins apa saja ya yang terinstal supaya saya bisa mengikuti arahan bapak di video ini

    • @ProgrammerZamanNow
      @ProgrammerZamanNow  Před 5 měsíci

      ya untuk fitur database harus yang ultimate, kalo gak pake ultimate, kan bisa buka via terminal database nya

  • @hiwijaya
    @hiwijaya Před rokem

    Kang request socket programming dong 🙏

  • @johnyangsana911
    @johnyangsana911 Před rokem +1

    PErtamax...............

  • @vinam2805
    @vinam2805 Před rokem

    mohon solusinya bang

  • @adamsuryapraja9560
    @adamsuryapraja9560 Před rokem

    Kang buat test di postman kok di log nya Token null tolong pencerahannya

  • @ajipangestu6460
    @ajipangestu6460 Před 11 měsíci

    1:40:26 nanti dilanjut besok

  • @Anggytri09
    @Anggytri09 Před 7 měsíci

    saya bingung pada unit test ya selalu mendapatkan "Tests Failed'
    ERROR YA:
    "
    com.fasterxml.jackson.databind.exc.MismatchedInputException: No content to map due to end-of-input
    at [Source: (String)""; line: 1, column: 0]
    at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
    at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4916)
    at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4818)
    at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3772)
    at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3755)
    at anggytriputra.restful.controller.AuthControllerTest.lambda$loginFailedUserNotFound$0(AuthControllerTest.java:55)
    at org.springframework.test.web.servlet.MockMvc$1.andDo(MockMvc.java:219)
    at anggytriputra.restful.controller.AuthControllerTest.loginFailedUserNotFound(AuthControllerTest.java:53)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    at java.base/java.lang.reflect.Method.invoke(Method.java:580)
    at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
    at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
    at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
    at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
    at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147)
    at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86)
    at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
    at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
    at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
    at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
    at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
    at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
    at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
    at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
    at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:217)
    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:213)
    at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:138)
    at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
    at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
    at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
    at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
    at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
    at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
    at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
    at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
    at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
    at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147)
    at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127)
    at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90)
    at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55)
    at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102)
    at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54)
    at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
    at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
    at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
    at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53)
    at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:57)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
    at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
    at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)
    at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
    2023-12-30T16:11:39.985+07:00 INFO 33528 --- [ionShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
    2023-12-30T16:11:39.987+07:00 INFO 33528 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
    2023-12-30T16:11:40.000+07:00 INFO 33528 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
    Process finished with exit code -1
    "