const express = require('express'); const { verifyToken } = require('../middleware/auth'); const router = express.Router(); const userController = require('../controllers/userController'); /** * @swagger * tags: * name: Users * description: 用户管理 */ /** * @swagger * components: * schemas: * User: * type: object * required: * - id * - username * - email * properties: * id: * type: integer * description: 用户ID * username: * type: string * description: 用户名 * email: * type: string * description: 邮箱地址 * example: * id: 1 * username: "john_doe" * email: "john@example.com" */ /** * @swagger * /api/users: * get: * summary: 获取所有用户 (需要认证) * tags: [Users] * security: * - bearerAuth: [] * responses: * 200: * description: 用户列表 * content: * application/json: * schema: * type: object * properties: * success: * type: boolean * data: * type: array * items: * $ref: '#/components/schemas/User' * 401: * description: 未认证 * 500: * description: 服务器错误 */ // 获取所有用户 (需要认证) router.get('/', verifyToken, userController.getAllUsers); /** * @swagger * /api/users/{id}: * get: * summary: 根据ID获取用户 (需要认证) * tags: [Users] * security: * - bearerAuth: [] * parameters: * - in: path * name: id * schema: * type: integer * required: true * description: 用户ID * responses: * 200: * description: 用户信息 * content: * application/json: * schema: * type: object * properties: * success: * type: boolean * data: * $ref: '#/components/schemas/User' * 401: * description: 未认证 * 404: * description: 用户未找到 * 500: * description: 服务器错误 */ // 根据ID获取用户 (需要认证) router.get('/:id', verifyToken, userController.getUserById); // 创建用户 (需要认证) router.post('/', verifyToken, userController.createUser); // 更新用户 (需要认证) router.put('/:id', verifyToken, userController.updateUser); // 删除用户 (需要认证) router.delete('/:id', verifyToken, userController.deleteUser); module.exports = router;