| Endpoint | Deskripsi |
|---|---|
| GET /api/mahasiswa | Mendapatkan daftar semua mahasiswa |
| GET /api/mahasiswa/{id} | Mendapatkan detail mahasiswa berdasarkan ID |
| POST /api/mahasiswa | Menambahkan mahasiswa baru |
| PUT /api/mahasiswa/{id} | Mengupdate data mahasiswa berdasarkan ID |
| DELETE /api/mahasiswa/{id} | Menghapus mahasiswa berdasarkan ID |
| Parameter | Tipe Data | Deskripsi |
|---|---|---|
| id | integer | ID unik untuk mahasiswa |
| nim | string | Nomor induk mahasiswa harus UNIK |
| nama | string | Nama lengkap mahasiswa |
| tanggal_lahir | string | Tanggal lahir mahasiswa dalam format YYYY-MM-DD |
| program_studi | string | Program studi mahasiswa |
| foto | file | Foto mahasiswa (format: JPG, PNG, maks. 2MB) |
Response JSON yang diberikan oleh setiap endpoint terdiri dari:
Request:
GET /api/mahasiswa Header Accept: application/json
Response:
{
"status": "success",
"data": [
{
"id": 1,
"nim": "1234567890",
"nama": "John Doe",
"tanggal_lahir": "1995-08-10",
"program_studi": "Teknik Informatika",
"foto": "http://example.com/storage/foto/photo123.jpg"
},
{
"id": 2,
"nim": "0987654321",
"nama": "Jane Smith",
"tanggal_lahir": "1998-03-25",
"program_studi": "Sistem Informasi",
"foto": null
}
]
}
Request:
POST /api/mahasiswa
Header
Accept: application/json
Body
{
"nim": "1234567891",
"nama": "Michael Scott",
"tanggal_lahir": "1990-07-15",
"program_studi": "Manajemen",
"foto": "foto.jpg"
}
Response:
{
"status": "success",
"data": {
"id": 3,
"nim": "1234567891",
"nama": "Michael Scott",
"tanggal_lahir": "1990-07-15",
"program_studi": "Manajemen",
"foto": "http://example.com/storage/foto/photo456.jpg"
},
"message": "Mahasiswa created successfully"
}
Request:
PUT /api/mahasiswa/3
Header
Accept: application/json
Body
{
"nim": "1234567891",
"nama": "Michael Scott",
"tanggal_lahir": "1990-07-15",
"program_studi": "Manajemen",
"foto": "foto.jpg"
}
Response:
{
"status": "success",
"data": {
"id": 3,
"nim": "1234567891",
"nama": "Michael Scott",
"tanggal_lahir": "1990-07-15",
"program_studi": "Manajemen",
"foto": "http://example.com/storage/foto/new_photo789.jpg"
},
"message": "Mahasiswa updated successfully"
}
Request:
DELETE /api/mahasiswa/3 Header Accept: application/json
Response:
{
"status": "success",
"message": "Mahasiswa deleted successfully"
}