# 🌐 User Management API Documentation
API ini dirancang untuk menyederhanakan pengelolaan pengguna, kontak, dan alamat dalam aplikasi Anda. Dengan API ini, Anda dapat dengan mudah:
### Manajemen Pengguna:
- 👤 Membuat, membaca, memperbarui, dan menghapus data pengguna (CRUD).
- 🔒 Autentikasi dan otorisasi pengguna.
- 🛡️ Mengelola peran dan izin pengguna.
### Manajemen Kontak:
- 📇 Menambahkan, melihat, mengedit, dan menghapus kontak pengguna.
- 📧 Mengelola informasi kontak seperti nama, email, nomor telepon, dll.
### Manajemen Alamat:
- 🏠 Menambahkan, melihat, mengedit, dan menghapus alamat pengguna.
- 🗺️ Mengelola informasi alamat seperti jalan, kota, negara, kode pos, dll.
## 🚀 Endpoints
### 🔑 Autentikasi
API ini menggunakan **Bearer Token**. Untuk mendapatkan token, kirim permintaan POST ke `/api/users/login` dengan kredensial yang valid. Sertakan token ini dalam header `Authorization` untuk setiap permintaan yang memerlukan autentikasi.
### Manajemen Pengguna
#### Register New User
**URL:** `/api/users`
**Method:** `POST`
**Description:** Register a new user.
**Request Body:**
```json
{
"username": "string",
"password": "string",
"name": "string"
}
```
Example Request:
{
"username": "testUsername",
"password": "testPassowrd123",
"name": "testName"
}
Responses:
- 201 Created
- Description: User Registered Successfully
- Example:
{ "data": { "id": 1, "username": "testUsername", "name": "testName" } }
- 400 Bad Request
- Description: Validation Error
- Example:
{ "errors": { "username": [ "Username is required", "username cannot contain spaces" ], "password": [ "Password is required", "Password must be at least 6 characters long" ], "name": [ "Name is required", "Name must be at least 3 characters long" ] } }
URL: /api/users/login
Method: POST
Description: Login a user.
Request Body:
{
"username": "string",
"password": "string"
}
Responses:
- 200 OK
- Description: User logged in successfully
- Example:
{ "data": { "id": 1, "username": "testUsername", "name": "testName", "token": "string" } }
URL: /api/users/current
Method: GET
Description: Get the current authenticated user.
Headers:
Authorization
: Bearer token
Responses:
- 200 OK
- Description: User retrieved successfully
- Example:
{ "data": { "id": 1, "username": "testUsername", "name": "testName" } }
- 401 Unauthorized
- Description: Unauthorized access
URL: /api/users/current
Method: PATCH
Description: Update the current authenticated user.
Headers:
Authorization
: Bearer token
Request Body:
{
"name": "string",
"password": "string"
}
Responses:
- 200 OK
- Description: User updated successfully
- Example:
{ "data": { "id": 1, "username": "testUsername", "name": "testName" } }
- 401 Unauthorized
- Description: Unauthorized access
URL: /api/users/logout
Method: DELETE
Description: Logout the current authenticated user.
Headers:
Authorization
: Bearer token
Responses:
- 200 OK
- Description: User logged out successfully
- Example:
{ "data": true }
Detail dokumentasi untuk manajemen kontak dapat ditemukan di file Docs/Contact-API.json
.
Detail dokumentasi untuk manajemen alamat dapat ditemukan di file Docs/Address-API.json
.
Dokumentasi lengkap dapat dilihat menggunakan OpenAPI Extension dan file JSON berikut:
Docs/Address-API.json
Docs/Contact-API.json
Docs/User-API.json
Gunakan ekstensi OpenAPI di IDE pilihan Anda untuk melihat dokumentasi API dengan lebih rinci.
Dengan dokumentasi ini, Anda memiliki semua yang Anda butuhkan untuk mulai bekerja dengan API Pengelolaan Pengguna, Kontak, dan Alamat dalam aplikasi Anda. 🚀
Anda dapat menambahkan atau mengubah bagian sesuai kebutuhan proyek Anda. Dokumentasi ini memberikan gambaran lengkap tentang API Anda dan cara penggunaannya, lengkap dengan contoh dan penjelasan.