DEV Community

Ryunze
Ryunze

Posted on

Membuat Controller API dengan Springboot

Kita buat folder baru dengan nama "controller" kemudian buat class baru dengan nama ProductController.java

package ryunze.apidasar.controller;

public class ProductController {
    // ...
}
Enter fullscreen mode Exit fullscreen mode

Buat anotasi @RestController

Ini menunjukan jika class tsb. sebagai Rest Controller sebuah endpoint.

package ryunze.apidasar.controller;

import org.springframework.web.bind.annotation.RestController;

@RestController
public class ProductController {
    // ...
}
Enter fullscreen mode Exit fullscreen mode

Untuk class ini, kita akan handle semua request ke endpoint /api/products

Tambahkan anotasi @RequestMapping

package ryunze.apidasar.controller;

import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;

@RestController
@RequestMapping("/api/products")
public class ProductController {
    // ...
}
Enter fullscreen mode Exit fullscreen mode

Handle Request

Import package untuk anotasi handle method GET:

import org.springframework.web.bind.annotation.GetMapping;
Enter fullscreen mode Exit fullscreen mode

Import juga package java Map dan HashMap karena di Springboot otomatis menampilkan JSON berdasarkan Object dari Java.

import java.util.Map;
import java.util.HashMap;
Enter fullscreen mode Exit fullscreen mode

Kita akan coba handle request dengan method GET ke endpoint /api/products

Buat method baru dengan nama showAll() dengan tipe data Map<String, Object> dan tambah anotasi @GetMapping

package ryunze.apidasar.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.GetMapping;

import java.util.Map;
import java.util.HashMap;

@RestController
@RequestMapping("/api/products")
public class ProductController {

    @GetMapping
    public Map<String, Object> showAll() {
        Map<String, Object> data = new HashMap<>();
        data.put("status", "success");
        data.put("code", 200);
        return data; 
    }

}
Enter fullscreen mode Exit fullscreen mode

Simpan dan run. Cek url localhost:8080/api/products

RestAPI JSON dengan Springboot

Jika muncul response yang sesuai berarti berhasil ya πŸ‘‹ Di postingan berikut kita tampilkan menggunakan Service yang datanya diambil dari Model biar lebih rapi.

Top comments (0)