2026-09-02 16:58:57 +07:00
2026-09-02 16:58:57 +07:00
2026-09-02 16:58:57 +07:00
2026-09-02 16:58:57 +07:00
2026-09-02 17:01:05 +07:00
2026-09-02 16:58:57 +07:00

Products API

Tugas Web Service Lab 03: Contract-First API Design.

Struktur Project

.
├── openapi.yaml      # Kontrak API (OpenAPI 3.0.3)
├── app.py            # Backend Flask
├── requirements.txt  # Dependencies
└── .env.example     # Template DATABASE_URL

Setup

  1. Install dependencies:

    pip install -r requirements.txt
    
  2. Buat file .env:

    copy .env.example .env
    
  3. Isi .env dengan connection string Neon:

    DATABASE_URL=postgresql://user:pass@host/neondb?sslmode=require
    

Jalankan Backend

python -m flask --app app --env-file .env run

Server berjalan di http://localhost:5000.

Endpoint

Method Path Fungsi
GET /products Ambil semua produk
GET /products/{id} Ambil satu produk
POST /products Tambah produk baru
DELETE /products/{id} Hapus produk

Test dengan curl

# Ambil semua produk
curl http://localhost:5000/products

# Ambil satu produk
curl http://localhost:5000/products/1

# Tambah produk baru
curl -X POST http://localhost:5000/products \
  -H "Content-Type: application/json" \
  -d '{"name":"Monitor","price":1500000,"stock":5}'

# Hapus produk
curl -X DELETE http://localhost:5000/products/4

Database

Menggunakan PostgreSQL Neon. Tabel products sudah tersedia dengan struktur:

Field Tipe
id integer (PK)
name varchar(100)
price numeric(12,2)
stock integer
Description
No description provided
Readme 32 KiB
Languages
Python 100%