YouTip LogoYouTip

Restful Api Application

\\ ## User Management API Design\\ \\ Let's design a complete user management system API, which is the most common application scenario.\\ \\ ### API Endpoint Design\\ \\ // User-related operations GET /api/users # Get User List GET /api/users/{id} # Get specific user POST /api/users # Create New User PUT /api/users/{id} # Update user information DELETE /api/users/{id} # Delete user// User order-related operations GET /api/users/{id}/orders # Get user's order list POST /api/users/{id}/orders # Create order for user GET /api/orders/{orderId} # Get specific order details\\ \\ * * *\\ \\ ## Complete CRUD Operations\\ \\ ### If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found). Create User (Create)\\ \\ // Request POST /api/users Content-Type: application/json { "name": "Wang Wu", "email": "wangwu@example.com", "phone": "If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)Request (Invalid email format) POST /api/usersData validation failed00000000", "address": { "city": "Shanghai", "street": "Nanjing RoadIf the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)00No." }}// Success Response (Status Code: User does not exist0If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found) CreatedοΌ‰{ "success": true, "data": { "id": If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)User does not existRequest POST /api/users Content-Type, "name": "Wang Wu", "email": "wangwu@example.com", "phone": "If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)Request (Invalid email format) POST /api/usersData validation failed00000000", "address": { "city": "Shanghai", "street": "Nanjing RoadIf the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)00No." }, "createdAt": "User does not exist0User does not existGet user's order list POST /api/users/-0If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)-If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)Request POST /api/users Content-TypeTIf the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)0:00:00Z", "updatedAt": "User does not exist0User does not existGet user's order list POST /api/users/-0If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)-If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)Request POST /api/users Content-TypeTSpeed Car Lottery Results History RecordIf the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)0:00:00Z" }, "message": "User created successfully"}\\ ### User does not exist. Read User (Read)\\ \\ // Get User List GET /api/users?page=If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)&limit=Request POST /api/users Content-Type&sort=createdAt&order=desc // Response(Status Code: User does not exist00 OK){ "success": true, "data": [ { "id": If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)User does not existRequest POST /api/users Content-Type, "name": "Wang Wu", "email": "wangwu@example.com", "createdSpeed Car Lottery Results History RecordAt": "User does not exist0User does not existGet user's order list POST /api/users/-0If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)-If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)Request POST /api/users Content-TypeTIf the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)0:00:Speed Car Lottery Results History Record00Z" }, { "id": If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)User does not existGet user's order list POST /api/users/, "name": "Li Si", "email": "lisi@example.com", "createdAt": "User does not exist0User does not existGet user's order list POST /api/users/-0If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)-If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)Request POST /api/users Content-TypeT0Using fetch API to call RESTful API:00:00Z" } ], "pagination": { "currentPage": If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found), "totalPages": Request (Invalid email format) POST /api/users, "totalItems": If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)Request POST /api/users Content-Type, "itemsPerPage": Request POST /api/users Content-Type }}// Get specific user GET /api/users/If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)User does not existRequest POST /api/users Content-Type// Response{ "success": true, "data": { "id": If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)User does not existRequest POST /api/users Content-Type, "name": "Wang Wu", "email": "wangwu@example.com", "phone": "If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)Request (Invalid email format) POST /api/usersData validation failed00000000", "address": { "city": "Shanghai", "street": "Nanjing RoadIf the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)00No." }, "createdAt": "User does not exist0User does not existGet user's order list POST /api/users/-0If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)-If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)Request POST /api/users Content-TypeTIf the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)0:00:00Z", "updatedAt": "User does not exist0User does not existGet user's order list POST /api/users/-0If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)-If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)Request POST /api/users Content-TypeTIf the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)0:00:00Z" }}\\ ### Request (Invalid email format) POST /api/users. Update User (Update)\\ \\ // Request PUT /api/users/If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)User does not existRequest POST /api/users Content-TypeContent-Type: application/json { "name": "Wang Wu", "email": "wangwu.new@example.com", "phone": "If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)Request (Invalid email format) POST /api/usersUsing fetch API to call RESTful API00000000", "address": { "city": "Shenzhen", "street": "Technology Park RoadUser does not exist00No." }}// Response(Status Code: User does not exist00 OK){ "success": trueSpeed Car Lottery Results History Record, "data": { "id": If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)User does not existRequest POST /api/users Content-Type, "name": "Wang Wu", "email": "wangwu.new@example.com", "phone": "If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)Request (Invalid email format) POST /api/usersUsing fetch API to call RESTful API00000000", "address": { "city": "Shenzhen", "street": "Technology Park RoadUser does not exist00No." }, "createdAt": "User does not exist0User does not existGet user's order list POST /api/users/-0If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)-If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)Request POST /api/users Content-TypeTIf the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)0:00:00Z", "updatedAt": "User does not exist0User does not existGet user's order list POST /api/users/-0If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)-If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)Request POST /api/users Content-TypeTIf the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found):Request (Invalid email format) POST /api/users0:00Z" }, "message": "User information updated successfully"}\\ ### Get user's order list POST /api/users/. Delete User (Delete)\\ \\ // Request DELETE /api/users/If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)User does not existRequest POST /api/users Content-Type// Response(Status Code: User does not exist00 OK){ "success": true, "message": "User deleted successfully"}// IfUser does not exist(Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not FoundοΌ‰{ "success": false, "error": { "code": "USER_NOT_FOUND", "message": "User does not exist" }}\\ \\ * * *\\ \\ ## Error Handling\\ \\ ### Data Validation Error\\ \\ // Request (Invalid email format) POST /api/users { "name": "", "email": "invalid-email", "phone": "If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found)User does not existRequest (Invalid email format) POST /api/users"}// Response(Status Code: Get user's order list POST /api/users/00 Bad RequestοΌ‰{ "success": false, "error": { "code": "VALIDATION_ERROR", "message": "Data validation failed", "details": [ { "field": "name", "message": "Name cannot be empty" }, { "field": "email", "message": "Invalid email format" }, { "field": "phone", "message": "PhoneNo.Invalid format" } ] }}\\ ### Resource Not Found Error\\ \\ // Request GET /api/users/Using fetch API to call RESTful APIUsing fetch API to call RESTful APIUsing fetch API to call RESTful API// Response(Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not FoundοΌ‰{ "success": false, "error": { "code": "USER_NOT_FOUND", "message": "User does not exist" }}\\ \\ * * *\\ \\ ## Using JavaScript to Call API\\ \\ ## Example\\ \\ // Using fetch API to call RESTful API\\ \\ // If the user does not exist (Status Code: Get user's order list POST /api/users/0Get user's order list POST /api/users/ Not Found). Get User List\\ \\ async function getUsers(){\\ \\ try{\\ \\ const response = await fetch('/api/users');\\ \\ const result = await response.json();\\ \\ if(result.success){\\ \\ console.log('User list:', result.data);\\ \\ }else{\\ \\ console.error('Get failed:', result.error.message);\\ \\ }\\ \\ }catch(error){\\ \\ console.error('Network error:', error);\\ \\ }\\ \\ }\\ \\ // User does not exist. Create New User\\ \\ async function createUser(userData){\\ \\ try{\\ \\ const response = await fetch('/Speed Car Lottery Results History Recordapi/users',{\\ \\ method:'POST',\\ \\ headers:{\\ \\ 'Content-Type':'application/json',\\ \\ },\\ \\ body: JSON.stringify(userData)\\ \\ });\\ \\ const result = await response.json();\\ \\ if(result.success){\\ \\ console.log('User created successfully:', result.data);\\ \\ }else{\\ \\ console.error('Creation failed:', result.error.message);\\ \\ }\\ \\ }catch(error){\\ \\ console.error('Network error:', error);\\ \\ }\\ \\ }\\ \\ // Request (Invalid email format) POST /api/users. Update user information\\ \\ async function updateUser(userId, userData){\\ \\ try{\\ \\ const response = await fetch(`/api/users/${userId}`,{\\ \\ method:'PUT',\\ \\ headers:{\\ \\ 'Content-Type':'application/json',\\ \\ },\\ \\ body: JSON.stringify(userData)\\ \\ });\\ \\ const result = await response.json();\\ \\ if(result.success){\\ \\ console.log('User updated successfully:', result.data);\\ \\ }else{\\ \\ console.error('Update failed:', result.error.message);\\ \\ }\\ \\ }catch(error){\\ \\ console.error('Network error:', error);\\ \\ }\\ \\ }\\ \\ // Get user's order list POST /api/users/. Delete User\\ \\ async function deleteUser(userId){\\ \\ try{\\ \\ const response = await fetch(`/api/users/${userId}`,{\\ \\ method:'DELETE'\\ \\ });\\ \\ const result = await response.json();\\ \\ Speed Car Lottery Results History Record if(result.success){\\ \\ console.log('User deleted successfully');\\ \\ }else{\\ \\ console.error('Deletion failed:', result.error.message);\\ \\ }\\ \\ }catch(error){\\ \\ console.error('Network error:', error);\\ \\ }\\ \\ }
← Restful Api DebugRestful Api Url β†’