Cara Membuat dan Menguji API Spring Boot dengan Apidog

Pelajari cara membuat API REST sederhana dgn Spring Boot & mengujinya dgn APIdog. Spring Boot permudah web dev Java. Apidog bantu tes & debug API.

Ardianto Nugroho

Ardianto Nugroho

21 February 2026

Cara Membuat dan Menguji API Spring Boot dengan Apidog

Pernahkah Anda ingin membuat aplikasi web atau layanan mikro dengan Java, tetapi merasa kewalahan dengan kompleksitas dan konfigurasi yang terlibat? Jika ya, Anda tidak sendirian. Banyak pengembang berjuang dengan tantangan pengembangan web, seperti menyiapkan server, mengelola dependensi, menangani database, dan banyak lagi.

Itulah mengapa Spring Boot adalah pengubah permainan. Spring Boot adalah kerangka kerja yang menyederhanakan pengembangan web dengan Java. Ia menyediakan fitur-fitur seperti konfigurasi otomatis, server tertanam, dependensi pemula, dan banyak lagi. Dengan Spring Boot, Anda dapat fokus menulis logika bisnis Anda, daripada berurusan dengan kode boilerplate.

Tetapi membuat aplikasi web atau layanan mikro tidaklah cukup. Anda juga perlu mengujinya. Pengujian sangat penting untuk memastikan kualitas dan keandalan perangkat lunak Anda. Ini membantu Anda menemukan dan memperbaiki bug, meningkatkan kinerja, dan mencegah kesalahan.

Di situlah Apidog hadir.

💡
Apidog adalah alat yang membantu Anda menguji dan men-debug API Anda. Ini memungkinkan Anda untuk terhubung ke API Anda dan menjelajahi titik akhir, membuat dan menjalankan kasus uji, dan menghasilkan laporan. Dengan Apidog, Anda dapat menguji API Anda lebih cepat dan lebih mudah, tanpa menulis kode apa pun.
button

Dalam postingan blog ini, Anda akan mempelajari cara membangun dan menguji API Spring Boot dengan Apidog. Anda akan membuat API RESTful sederhana dengan Spring Boot dan mengujinya dengan Apidog.

Apa itu Spring Boot dan mengapa menggunakannya?

Spring Boot adalah kerangka kerja yang menyederhanakan pengembangan aplikasi Spring. Ia menyediakan banyak fitur dan konvensi yang memudahkan untuk membuat, mengonfigurasi, menjalankan, dan menyebarkan aplikasi Spring. Beberapa manfaat menggunakan Spring Boot adalah:

Dengan Spring Boot, Anda dapat fokus menulis logika bisnis Anda dan membiarkan kerangka kerja menangani sisanya.

Spring boot officail website

Apa itu Apidog dan bagaimana ia dapat membantu Anda menguji API Anda?

Apidog adalah alat yang membantu Anda menguji API Anda dengan cara yang sederhana dan intuitif. Ini memungkinkan Anda untuk terhubung ke API Anda, menjelajahi titik akhir, dan membuat dan menjalankan kasus uji untuk API Anda. Beberapa fitur APIdog adalah:

Dengan Apidog, Anda dapat menguji API Anda dengan cara yang cepat dan andal dan memastikan kualitas dan fungsionalitasnya.

Apidog main interface

Menyiapkan proyek

Langkah pertama adalah membuat proyek Spring Boot dengan Spring Initializr. Spring Initializr adalah alat web yang menghasilkan struktur dan konfigurasi proyek dasar untuk Anda berdasarkan preferensi Anda. Untuk menggunakan Spring Initializr, ikuti langkah-langkah ini:

Buka https://start.spring.io/ dan isi detail proyek Anda. Untuk contoh ini, saya akan menggunakan pengaturan berikut:

Setup Spring boot project

Klik tombol GENERATE dan unduh file zip proyek Anda.

Ekstrak file zip dan buka proyek di IDE favorit Anda.

Menambahkan dependensi untuk Spring Web dan Spring Data JPA

Langkah selanjutnya adalah menambahkan dependensi untuk Spring Web dan Spring Data JPA. Spring Web adalah modul yang menyediakan dukungan web penting untuk membangun API RESTful dengan Spring. Spring Data JPA adalah modul yang menyederhanakan akses dan manipulasi data dalam database relasional menggunakan JPA dan Hibernate.

Untuk menambahkan dependensi ini, Anda dapat menggunakan Spring Initializr seperti yang disebutkan di atas, atau Anda dapat secara manual mengedit file pom.xml proyek Anda dan menambahkan dependensi berikut:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
  <groupId>com.h2database</groupId>
  <artifactId>h2</artifactId>
  <scope>runtime</scope>
</dependency>

Mengonfigurasi properti aplikasi

Langkah selanjutnya adalah mengonfigurasi properti aplikasi. File application.properties adalah file yang berisi pasangan kunci-nilai yang menentukan perilaku dan pengaturan aplikasi Anda. Untuk contoh ini, kita akan menggunakan properti berikut:

# Enable the H2 console for accessing the database
spring.h2.console.enabled=true
# Set the path of the H2 console
spring.h2.console.path=/h2-console
# Set the URL of the database
spring.datasource.url=jdbc:h2:mem:testdb
# Set the username of the database
spring.datasource.username=sa
# Set the password of the database
spring.datasource.password=
# Set the dialect of the database
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
# Show the SQL statements in the console
spring.jpa.show-sql=true
# Generate the database schema from the entity classes
spring.jpa.hibernate.ddl-auto=update
# Enable the Swagger UI for documenting the API
springdoc.swagger-ui.enabled=true
# Set the path of the Swagger UI
springdoc.swagger-ui.path=/swagger-ui.html

Membuat API

Langkah selanjutnya adalah membuat API. API akan terdiri dari model domain, repositori, dan pengontrol untuk entitas sederhana yang disebut Buku. Sebuah Buku akan memiliki properti berikut: id, judul, penulis, dan harga.

Membuat model domain dan repositori untuk entitas sederhana

Model domain adalah kelas yang mewakili data dan perilaku entitas. Repositori adalah antarmuka yang memperluas antarmuka JpaRepository dan menyediakan metode untuk mengakses dan memanipulasi data entitas.

Untuk membuat model domain dan repositori untuk entitas Buku, ikuti langkah-langkah ini:

Kelas Book.java seharusnya terlihat seperti ini:

package com.example.apidogdemo.model;

import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

@Entity
@Table(name = "books")
public class Book {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name = "title")
    @NotNull
    private String title;

    @Column(name = "author")
    @NotNull
    private String author;

    @Column(name = "price")
    @NotNull
    private BigDecimal price;

    public Book() {
    }

    public Book(Long id, String title, String author, BigDecimal price) {
        this.id = id;
        this.title = title;
        this.author = author;
        this.price = price;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    @Override
    public String toString() {
        return "Book{" +
                "id=" + id +
                ", title='" + title + '\'' +
                ", author='" + author + '\'' +
                ", price=" + price +
                '}';
    }
}

Antarmuka BookRepository.java seharusnya terlihat seperti ini:

package com.example.apidogdemo.repository;

import com.example.apidogdemo.model.Book;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface BookRepository extends JpaRepository<Book, Long> {
    // You can define custom methods here
}

Membuat pengontrol dan menentukan titik akhir untuk operasi CRUD

Pengontrol adalah kelas yang menangani permintaan dan respons API. Pengontrol mendefinisikan titik akhir untuk operasi CRUD (buat, baca, perbarui, dan hapus) untuk entitas.

Untuk membuat pengontrol dan menentukan titik akhir untuk entitas Buku, ikuti langkah-langkah ini:

Kelas BookController.java seharusnya terlihat seperti ini:

package com.example.apidogdemo.controller;

import com.example.apidogdemo.model.Book;
import com.example.apidogdemo.repository.BookRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.server.ResponseStatusException;

import javax.validation.Valid;
import java.util.List;
import java.util.Optional;

@RestController
@RequestMapping("/api/books")
public class BookController {

    @Autowired
    private BookRepository bookRepository;

    // Get all books
    @GetMapping
    public ResponseEntity<List<Book>> getAllBooks() {
        List<Book> books = bookRepository.findAll();
        return new ResponseEntity<>(books, HttpStatus.OK);
    }

    // Get a book by id
    @GetMapping("/{id}")
    public ResponseEntity<Book> getBookById(@PathVariable Long id) {
        Optional<Book> book = bookRepository.findById(id);
        if (book.isPresent()) {
            return new ResponseEntity<>(book.get(), HttpStatus.OK);
        } else {
            throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Book not found");
        }
    }

    // Create a book
    @PostMapping
    public ResponseEntity<Book> createBook(@Valid @RequestBody Book book) {
        Book savedBook = bookRepository.save(book);
        return new ResponseEntity<>(savedBook, HttpStatus.CREATED);
    }

    // Update a book by id
    @PutMapping("/{id}")
    public ResponseEntity<Book> updateBook(@PathVariable Long id, @Valid @RequestBody Book book) {
        Optional<Book> existingBook = bookRepository.findById(id);
        if (existingBook.isPresent()) {
            book.setId(id);
            Book updatedBook = bookRepository.save(book);
            return new ResponseEntity<>(updatedBook, HttpStatus.OK);
        } else {
            throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Book not found");
        }
    }

    // Delete a book by id
    @DeleteMapping("/{id}")
    public ResponseEntity<Void> deleteBook(@PathVariable Long id) {
        Optional<Book> existingBook = bookRepository.findById(id);
        if (existingBook.isPresent()) {
            bookRepository.deleteById(id);
            return new ResponseEntity<>(HttpStatus.NO_CONTENT);
        } else {
            throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Book not found");
        }
    }

    // Handle the validation exceptions
    @ExceptionHandler(javax.validation.ConstraintViolationException.class)
    @ResponseStatus(HttpStatus.BAD_REQUEST)
    public String handleValidationExceptions(javax.validation.ConstraintViolationException ex) {
        return ex.getMessage();
    }
}

Menguji API Spring boot dengan APIdog

Langkah terakhir adalah menguji API dengan Apidog. Apidog adalah alat yang membantu Anda menguji API Anda dengan cara yang sederhana dan intuitif. Ini memungkinkan Anda untuk terhubung ke API Anda, menjelajahi titik akhir, dan membuat dan menjalankan kasus uji untuk API Anda.

button

Untuk menguji API dengan Apidog, ikuti langkah-langkah ini:

Create new project
Enter details to create new project on Apidog
Select new API
Api endpoints list on apidog
Create a new test scenario on Apidog
Test cases scenarios on apidog

Anda dapat menggunakan pelari uji untuk menjalankan kasus uji Anda dan melihat status, keluaran, dan kesalahan dari setiap uji. Anda dapat menggunakan generator laporan untuk membuat laporan komprehensif dan dapat disesuaikan dari hasil uji Anda.

Kesimpulan

Dalam postingan blog ini, Anda telah mempelajari cara membangun dan menguji API Spring Boot dengan Apidog. Anda telah membuat API RESTful sederhana dengan Spring Boot dan mengujinya dengan Apidog.

Spring Boot adalah kerangka kerja yang menyederhanakan pengembangan web dengan Java. Ia menyediakan fitur-fitur seperti konfigurasi otomatis, server tertanam, dependensi pemula, dan banyak lagi. Dengan Spring Boot, Anda dapat fokus menulis logika bisnis Anda, daripada berurusan dengan kode boilerplate.

Apidog adalah alat yang membantu Anda menguji dan men-debug API Anda. Ini memungkinkan Anda untuk terhubung ke API Anda dan menjelajahi titik akhir, membuat dan menjalankan kasus uji, dan menghasilkan laporan. Dengan Apidog, Anda dapat menguji API Anda lebih cepat dan lebih mudah, tanpa menulis kode apa pun.

button

Explore more

Cara Menggunakan Lovable AI (Alternatif Cursor untuk Pengembang Web)

Cara Menggunakan Lovable AI (Alternatif Cursor untuk Pengembang Web)

Pelajari cara buat web apa pun dgn Lovable. Panduan lengkap, fitur inovatif, & integrasi Apidog (API gratis).

15 April 2025

Cara Menambahkan Kunci API Kustom ke Cursor: Panduan Komprehensif

Cara Menambahkan Kunci API Kustom ke Cursor: Panduan Komprehensif

Tutorial ini memandu Anda menyiapkan & mengelola API key khusus di Cursor: OpenAI, Anthropic, Google, & Azure.

11 April 2025

Cara Menggunakan NVIDIA Llama Nemotron API untuk Agen AI Tingkat Lanjut

Cara Menggunakan NVIDIA Llama Nemotron API untuk Agen AI Tingkat Lanjut

Pelajari API NVIDIA Llama Nemotron utk buat agen AI canggih.

11 April 2025

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.