# project-2-blog
**Repository Path**: linc5403/project-2-blog
## Basic Information
- **Project Name**: project-2-blog
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2021-01-09
- **Last Updated**: 2021-03-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Table of Contents
1. [Blog](#orge8a8c9d)
1. [数据说明](#org7b2a081)
2. [需求说明](#org1d22654)
1. [blog及comment的CRUD](#orge5f67b0)
2. [用户注册及登录](#orgfe1ee8f)
# Blog
## 数据说明
`blog.sql`

- 一个blog对象关联一个user对象, 表示这个blog是谁发布的
- 一个comment关联一个user对象, 表示这个评论是谁发布的
- 一个blog关联0个或多个comment对象, 表示这个blog有几条评论
## 需求说明
### blog及comment的CRUD
- `POST /blog`
新增blog
- `PUT /blog/{id}`
更新blog
- `DELETE /blog/{id}`
删除blog
- `GET /blog/{id}`
获取指定blog的详细信息, 需要包括该博客的所有信息
- 发布者
- 评论, 以及是谁发表的评论
- `GET /blogs`
查询符合条件的所有博客, 不用返回博客的评论, 查询条件包括:
- 指定用户发表的博客
- 创建时间
- 分页查询
- 标题关键字
- 内容关键字
- 指定用户回复的博客
- `DELETE /comment/{id}`
删除指定的评论
- `POST /comment`
发表评论
请思考如下问题:
1. 谁有权限删除指定的博客
2. 删除博客是否需要同时删除其对应的评论
3. 谁有权限删除指定的评论
4. 删除用户后该用户对应的博客和评论应该如何处理
### 用户注册及登录
- `POST /register`
新用户注册
- `POST /login`
用户登录
1. 用户注册后的邮箱验证
- `GET /active`
请思考此处为何定义为 `GET`
2. 忘记密码