服务器设计
采用restful风格API设计方式:使用不同的HTTP方法表示不同的含义:
- POST方法表示新增资源
- GET方法表示查看资源
- PUT方法表示修改
- DELETE方法表示删除
使用path表示要操作的资源,继续使用Json来组织body中的数据
实现一个http服务器,采用第三方库cpp-httplib来进行开发,实现起来能简单点。
cpp-httplib 一个header-only的跨平台HTTP/HTTPS服务器和客户端C++库
选择这个库的几个原因:
- 开源项目,免费
- 安装简单,只用把httplib,放在项目目录下就能使用
- 还支持写http客服端
- 代码简单使用起来简单
- 采用restful风格API设计方式
博客表有关接口
1.新增博客
1 | //请求 |
2.查看所有博客(标题列表)
1 | //请求 |
查看某个博客:
1 | //请求 |
- 删除博客
1 | //请求 |
4.修改博客
1 | //请求 |
标签表接口设计
1.新增标签
1 | //请求 |
2.查看标签
1 | //请求 |
3.删除标签
1 | //请求 |
用户表接口实现
1.新增用户
1 | //请求 |
2.查看所有用户列表
1 | //请求 |
查看指定用户
1 | //请求 |
服务器实现:
和数据库建立连接
创建相关数据库对象处理
BlogTable
TagTable
AuthorTable
创建服务器,并设置“路由”
HTTP 服务器的路由,和IP协议的路由不一样,此处的路由指的是把方法 和path =》哪个处理函数,关联关系声明清楚,确认一个映射关系
博客表有关的处理函数:
新增博客:Post(“/blog”,Handler)
查看博客:Get(“/blog”,Handler)
修改博客:Put(“/blog”,Handler)
删除博客:Delete(“/blog”,Handler)
标签表有关的处理函数:
新增标签:Post
查看标签:Get
删除标签:Delete
作者表有关的处理函数:
新增用户:Post
查看用户:Get
修改密码:Put
正则表达式:用特殊符号来描述一个字符串应该具有那些特殊特征,
特征包括不限于:包含那些特殊字符,以什么开头,以什么结尾,特点字符重复出现几次