git clone https://github.com/Anemi-ai/General-RestFull-API.gitcd General-RestFull-API#Install (use Node.js version 18.18.2 if there are any problems with other versions)
npm installnpm run start| Endpoint | Method | Description |
|---|---|---|
| /articles | GET | Get all articles |
| /articles/:id | GET | Get articles by ID |
| /articles | POST | Added new article |
| /users | GET | Get All users |
| /user/{id} | GET | Get users based on ID |
| /auth/register | POST | Register a New User |
| /auth/login | POST | Login an Existing User |
- URL: /articles
- Method: GET
- Response:
- Success: 200 OK
- Body:
[ { "id": "article_id", "title": "Judul Artikel", "description": "Deskripsi Artikel", "content": "Konten Artikel", "imageUrl": "URL_Gambar_Jika_Ada", "sourceUrl": "URL_Sumber_Jika_Ada", "createdAt": "Tanggal_Pembuatan" }, ]
- Body:
- Error: 404 Not Found
- Body:
{ "message": "Data tidak ditemukan or kosong!" }
- Body:
- Error: 500 Internal Server Error
- Body:
{ "message": "Internal server error" }
- Body:
- Success: 200 OK
- URL: /articles/:id
- Method: GET
- Request Parameter:
- Deskripsi: Mendapatkan articles berdasarkan ID.
id: ID unik articles.
- Response:
- Success: 200 OK
- Body:
{ "id": "article_id", "title": "Judul Artikel", "description": "Deskripsi Artikel", "content": "Konten Artikel", "imageUrl": "URL_Gambar_Jika_Ada", "sourceUrl": "URL_Sumber_Jika_Ada", "createdAt": "Tanggal_Pembuatan" }
- Body:
- Error: 404 Not Found
- Body:
{ "message": "Data dengan ID ini tidak ditemukan!" }
- Body:
- Error: 500 Internal Server Error
- Body:
{ "message": "Internal server error" }
- Body:
- Success: 200 OK
-
URL: /articles
-
Method: POST
-
Request Body:
{ "title": "Judul Artikel", "description": "Deskripsi Artikel", "content": "Konten Artikel", "imageUrl": "URL_Gambar_Jika_Ada", "sourceUrl": "URL_Sumber_Jika_Ada", "createdAt": "Tanggal_Pembuatan" } -
Error: 400 Bad request
- Body:
{ "status" : "success" "message": "Mohon isi semua field. Title, description, dan content tidak boleh kosong!" }
- Body:
-
Error: 500 Internal Server Error
- Body:
{ "message": "Internal server error" }
- Body:
- Endpoint:
/users - Method:
GET - Deskripsi: Mendapatkan semua pengguna yang terdaftar.
- Response:
- Success: 200 OK
- Body:
[ { "message": "Berhasil mengambil semua daftar pengguna" { "id": "user_id", "username": "Nama Pengguna", "email": "Email Pengguna", "createdAt": "Tanggal Pembuatan" }, // ...dan seterusnya } ]
- Body:
- Error: 404 Not Found
- Body:
{ "message": "Data pengguna tidak ditemukan atau kosong!" }
- Body:
- Error (401 Unauthorized):
{ "message": "Unauthorized, Masukkan token" } - Error: 500 Internal Server Error
- Body:
{ "message": "Kesalahan server internal" }
- Body:
- Success: 200 OK
- Endpoint:
/users/:id - Method:
GET - Deskripsi: Mendapatkan informasi pengguna berdasarkan ID.
- Request Parameter:
id: ID unik pengguna.
- Response:
- Success (200 OK):
{ "user": { "id": "string", "name": "string", "email": "string", "password": "hashsed password", "createdAt": "string" } } - Error (404 Not Found):
{ "message": "Pengguna tidak ditemukan" } - Error (500 Internal Server Error):
{ "message": "Kesalahan server internal" } - Error (401 Unauthorized):
{ "message": "Unauthorized, Masukkan token" }
- Success (200 OK):
-
Endpoint:
/auth/register -
Method:
POST -
Deskripsi: Mendaftarkan pengguna baru dengan nama, email, dan password yang diberikan.
-
Request Body:
{ "name": "string", "birthDate": "string/Number", "gender": "string", "email": "string", "password": "hash password" } -
Response:
- Success (201 Created):
{ "status": true, "message": "Pengguna berhasil ditambahkan", "data": { "id": "string", "name": "string", "gender": "string", "email": "string", "password": "hashedPassword", } }
- Success (201 Created):
-
Error (400 Bad request):
{ "message": "Email sudah terdaftar" } -
Error (400 Bad request):
{ "message": "Nama, email, dan password harus diisi" } -
Error (500 Internal Server Error):
{ "message": "Kesalahan server internal" }
-
Endpoint:
/auth/login -
Method:
POST -
Deskripsi: melakukan autentikasi pengguna.
-
Request Body:
{ "email": "string", "password": "hash password" } -
Response:
- Success (201 Created):
{ "status": true, "message": "Login berhasil, masukkan token!", "token": "<JWT Token>", "data": { "id": "string", "email": "string" } }
- Success (201 Created):
-
Error (404 Bad request):
{ "message": "Pengguna tidak ditemukan" } -
Error (403 Forbidden):
{ "message": "Kata sandi salah" } -
Error (500 Internal Server Error):
{ "message": "Kesalahan server internal" }