新闻资讯模块接口文档 ================ 基础信息 ------- - 基础路径: /api/v1/news - 请求方式: REST - 数据格式: JSON - 认证方式: Bearer Token 数据结构 ------- News 新闻对象: { id: number, // 新闻ID title: string, // 标题 summary: string, // 摘要 content: string, // 内容 image: string, // 封面图片 category: string, // 分类 time: string, // 发布时间 views: number, // 浏览量 source: string, // 来源 tags: string[], // 标签 status: string // 状态(published/draft) } NewsCategory 分类对象: { value: string, // 分类值 label: string, // 分类名称 count: number // 新闻数量 } NewsComment 评论对象: { id: number, // 评论ID newsId: number, // 新闻ID userId: number, // 用户ID userName: string, // 用户名 content: string, // 评论内容 time: string, // 评论时间 likes: number, // 点赞数 replies?: NewsComment[] // 回复列表 } API 接口 ------- 1. 获取新闻列表 GET /api/v1/news 请求参数: | 参数名 | 类型 | 必填 | 说明 | | category | string | 否 | 新闻分类 | | page | number | 否 | 页码,默认1 | | size | number | 否 | 每页数量,默认10 | | keyword | string | 否 | 搜索关键词 | 响应示例: { "code": 200, "message": "success", "data": { "total": 100, "records": [ { "id": 1, "title": "老年人健康管理新政策出台", "summary": "国家发布新政策,加强老年人健康管理服务...", "image": "https://example.com/news1.jpg", "category": "policy", "time": "2024-03-20 10:30", "views": 1234, "source": "健康时报", "tags": ["政策", "健康", "养老"], "status": "published" } ] } } 2. 获取新闻详情 GET /api/v1/news/{id} 响应示例: { "code": 200, "message": "success", "data": { // 新闻详细信息 } } 3. 获取新闻分类 GET /api/v1/news/categories 响应示例: { "code": 200, "message": "success", "data": [ { "value": "policy", "label": "政策新闻", "count": 128 } ] } 4. 获取热门新闻 GET /api/v1/news/hot 请求参数: | 参数名 | 类型 | 必填 | 说明 | | limit | number | 否 | 返回数量,默认5 | 5. 更新浏览量 POST /api/v1/news/{id}/view 6. 获取新闻评论 GET /api/v1/news/{id}/comments 响应示例: { "code": 200, "message": "success", "data": [ { "id": 1, "newsId": 1, "userId": 10001, "userName": "张三", "content": "政策很实用", "time": "2024-03-20 11:00", "likes": 12, "replies": [] } ] } 7. 添加评论 POST /api/v1/news/{id}/comments 请求参数: { "content": "评论内容", "parentId": null // 回复其他评论时设置 } 8. 点赞评论 POST /api/v1/news/comments/{id}/like 9. 获取相关新闻 GET /api/v1/news/{id}/related 请求参数: | 参数名 | 类型 | 必填 | 说明 | | limit | number | 否 | 返回数量,默认3 | 10. 订阅主题 POST /api/v1/news/subscribe 请求参数: { "topics": ["health", "policy"] } 11. 获取订阅推送 GET /api/v1/news/subscribed 错误码说明 -------- | 错误码 | 说明 | | 200 | 成功 | | 400 | 请求参数错误 | | 401 | 未授权 | | 403 | 禁止访问 | | 404 | 资源不存在 | | 500 | 服务器内部错误 | 注意事项 ------- 1. 新闻内容支持富文本格式 2. 图片URL需要进行防盗链处理 3. 评论支持多级回复 4. 缓存策略: - 新闻列表缓存:5分钟 - 新闻详情缓存:10分钟 - 热门新闻缓存:1小时 - 分类列表缓存:1天 5. 访问频率限制: - 获取列表:10次/分钟 - 发表评论:2次/分钟 - 点赞操作:5次/分钟