For easy testing and access, use these default credentials:
- Username:
admin - Email:
[email protected] - Password:
admin123 - Role: ROLE_ADMIN
- Username:
user1 - Email:
[email protected] - Password:
user123 - Role: ROLE_USER
Note: These are default credentials for development/testing purposes. Make sure to change them in production environments.
| HTTP Method | Endpoint | Description | Access |
|---|---|---|---|
| GET | /api/health |
Health check endpoint for AWS monitoring | Public |
| GET | /api/ping |
Simple ping endpoint | Public |
| HTTP Method | Endpoint | Description | Access |
|---|---|---|---|
| POST | /api/auth/signin |
User login | Public |
| POST | /api/auth/signup |
User registration | Public |
| GET | /api/auth/username |
Get current username | Authenticated |
| GET | /api/auth/user |
Get user details | Authenticated |
| HTTP Method | Endpoint | Description | Access |
|---|---|---|---|
| GET | /api/public/categories |
Get all categories (paginated) | Public |
| POST | /api/public/categories |
Create new category | Public |
| PUT | /api/public/categories/{categoryId} |
Update category | Public |
| DELETE | /api/admin/categories/{categoryId} |
Delete category | Admin |
Query Parameters for GET categories:
pageNumber(default: 0)pageSize(default: 10)sortBy(default: categoryId)sortOrder(default: asc)
| HTTP Method | Endpoint | Description | Access |
|---|---|---|---|
| POST | /api/admin/categories/{categoryId}/product |
Add product to category | Admin |
| GET | /api/public/products |
Get all products (paginated) | Public |
| GET | /api/public/categories/{categoryId}/products |
Get products by category | Public |
| GET | /api/public/products/keyword/{keyword} |
Search products by keyword | Public |
| PUT | /api/admin/products/{productId} |
Update product | Admin |
| DELETE | /api/admin/products/{productId} |
Delete product | Admin |
| PUT | /api/products/{productId}/image |
Update product image | Authenticated |
Query Parameters for GET products:
pageNumber(default: 0)pageSize(default: 10)sortBy(default: productId)sortOrder(default: asc)
| HTTP Method | Endpoint | Description | Access |
|---|---|---|---|
| POST | /api/carts/products/{productId}/quantity/{quantity} |
Add product to cart | Authenticated |
| GET | /api/carts |
Get all carts | Authenticated |
| GET | /api/carts/users/cart |
Get user's cart | Authenticated |
| PUT | /api/cart/products/{productId}/quantity/{operation} |
Update product quantity in cart | Authenticated |
| DELETE | /api/carts/{cartId}/product/{productId} |
Delete product from cart | Authenticated |
Note: For update quantity, use operation parameter:
delete= decrease quantity by 1- Any other value = increase quantity by 1
| HTTP Method | Endpoint | Description | Access |
|---|---|---|---|
| POST | /api/addresses |
Create new address | Authenticated |
| GET | /api/addresses |
Get all addresses | Authenticated |
| GET | /api/addresses/{addressId} |
Get address by ID | Authenticated |
| GET | /api/users/addresses |
Get current user's addresses | Authenticated |
| PUT | /api/addresses/{addressId} |
Update address | Authenticated |
| DELETE | /api/addresses/{addressId} |
Delete address | Authenticated |
| HTTP Method | Endpoint | Description | Access |
|---|---|---|---|
| POST | /api/order/users/payments/{paymentMethod} |
Place order with payment | Authenticated |
Request Body for Order:
{
"addressId": "long",
"pgName": "string",
"pgPaymentId": "string",
"pgStatus": "string",
"pgResponseMessage": "string"
}- Base URL:
http://localhost:8080(default) - Authentication: JWT token-based authentication (cookie-based)
- Content-Type:
application/json - Pagination: Most list endpoints support pagination with query parameters
- ROLE_USER: Regular user access
- ROLE_SELLER: Seller access
- ROLE_ADMIN: Administrator access