# xy-blog-service
**Repository Path**: firelife_it/xy-blog-service
## Basic Information
- **Project Name**: xy-blog-service
- **Description**: 博客主页
- **Primary Language**: Java
- **License**: GPL-3.0
- **Default Branch**: master
- **Homepage**: http://www.xyblog.vip/
- **GVP Project**: No
## Statistics
- **Stars**: 9
- **Forks**: 1
- **Created**: 2019-11-07
- **Last Updated**: 2025-08-21
## Categories & Tags
**Categories**: blog
**Tags**: None
## README

后端
# XYBLOG
## 用户模块
**xy-blog-user**
### 属性字典
- 默认属性
- 邮箱
- 姓名
- 签名
- 手机号
- 昵称
- 个性LOGO
- 访问量
- 点赞量
- 评论总数
### 用户模版
- 访客模版
- 博主模版
- 管理员模版
### 个人信息管理
### 个人文章分类管理维护功能
### 管理员对博主的管理
### 用户注册
## 文章模块
**xy-blog-article-platform**
### 文章管理
- 查询
- 发布
- 原创
- 转载
- 翻译
- 修改
- 删除
- 导入
- 富文本
- markdown
- 导出
- PDF
- Word
- Markdown
- 是否允许评论
### 文章属性
- 标题
- 内容
- 类型
### 文章分类
- 计算机
- 。。。
### 回收站
- 手动永久删除
- 恢复
- 定时30天删除
### RSS订阅
- 用户通过浏览器的RSS订阅功能,订阅本博客最新动态
## 日志模块
**xy-blog-log**
### 用户日志
### 系统日志
## 评论模块
### 文章评论
### 开发者工具评论
### 赞踩功能
## 博客管理模块(管理员)TODO
**xy-blog-management**
### 配置管理
- OSS地址配置
- RDS配置
### 网站在线人数统计
## 权限模块
**xy-blog-security**
### 用户登陆校验
### 接口权限控制
## 开发者工具模块
**xy-blog-developer-tools**
### 上传和下载日常开发工具
### 检索
#=======================================
# RESTFUL 规范
- GET:查询操作:
```
分页:HTTP GET /devices?startIndex=0&size=20
HTTP GET /devices/{id}/configurations
HTTP GET /devices/{id}
GET /post/${post_id}/comment/${comment_index} 获取某个帖子的某个评论
```
- POST:新增操作:
```HTTP POST /device```
- PUT 全部更新操作(代表更新一个实体的所有属性)
```HTTP PUT /devices/ application/json ```
- PATCH 部分更新(代表更新一个实体的部分属性)由于有的浏览器兼容性问题,一般推荐使用put
```HTTP PATCH /device/ application/json ```
- DELETE 删除操作
```HTTP DELETE /devices/{id}```
- 使用连字符( - )而不是(_)来提高URI的可读性
- 在URI中使用小写字母
- 不要使用文件扩展名
# 状态码
200 - 请求成功
301 - 资源(网页等)被永久转移到其它URL
404 - 请求的资源(网页等)不存在
500 - 内部服务器错误
600 - 999 系统异常码
1000~业务共用异常码
2000~article
。。。
# 返回参数
# 验证
使用@Valid+BindingResult进行controller参数校验
# @NotNull @NotBlank@NotEmpty怎么用
- @NotBlank通常作用在String类型参数上面。下面注释得意思是,参数即使是空字符串也不行,必须要有值。
- @NotNull通常作用的是基本类型数据(除String)
- @NotEmpty一般用来校验Collection,Map,Array
```$xslt
success boolean用于表明本次请求成功与否
msg string用于输出本次接口结果消息,常用于表达错误消息。
code number用于输出本次请求的状态码,常用于表达错误状态码。
data any用于承载本次请求主要数据实体内容
```
# 为什么VO BO DO分层明确,如果不分层。
- 不需要的字段也会传递到前端页面
- 某些字段需要转换,但是无法支持。
- 某些字段要展示,但是并不希望出现在数据库中
# Service/DAO 层方法命名规约 (参考阿里巴巴开发手册)
1) 获取单个对象的方法用 get 做前缀。
2) 获取多个对象的方法用 list 做前缀,复数形式结尾如:listObjects。
3) 获取统计值的方法用 count 做前缀。
4) 插入的方法用 save/insert 做前缀。
5) 删除的方法用 remove/delete 做前缀。
6) 修改的方法用 update 做前缀。
# 领域模型命名规约
1) 数据对象:xxxDO,xxx 即为数据表名。
2) 数据传输对象:xxxDTO,xxx 为业务领域相关的名称。
3) 展示对象:xxxVO,xxx 一般为网页名称。
4) POJO 是 DO/DTO/BO/VO 的统称,禁止命名成 xxxPOJO。
# 日志规范
应用中不可直接使用日志系统(Log4j、Logback)中的API,而应依赖使用日志框架 SLF4J 中的 API,使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger logger = LoggerFactory.getLogger(Test.class);
# xy-blog-service
#### 介绍
{**以下是码云平台说明,您可以替换此简介**
码云是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台
无论是个人、团队、或是企业,都能够用码云实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)}
#### 软件架构
软件架构说明
#### 安装教程
1. xxxx
2. xxxx
3. xxxx
#### 使用说明
1. xxxx
2. xxxx
3. xxxx
#### 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
# 前端
https://gitee.com/firelife_it/xy-blog-web