博客根地址
https://mygithub.com
对于每个用户自己的博客网站都在这个根地址后加url信息。
使用Rest API进行设计
在这里设计如下API:
https://mygithub.com/...(username)/articles
https://mygithub.com/...(username)/profile
对于get请求时返回的错误码设计如下:
100 //返回正确,成功获取到数据
404 //没有找到相关记录
101 //修改或者新建数据成功
102 //删除数据成功
103 //非法访问
- 首先是登录
对于每个用户有一个自己的博客网站的名称,这个名称是唯一的,不会有重复,所以访问https://mygithub.com
网站时需要输入用户名,这样才能确认登陆的自己的博客,为了安全性这里也需要设计密码,在后台对输入的用户名和密码进行匹配,如果成功就可进入相应的自己的博客页面。如果失败就返回错误信息。假设用户名为name,那么访问的页面就为https://mygithub.com/name
。
{
"username": ...
"passwd": ...
}
-
用户页面的管理
在登陆成功后会进入用户博客主页面,在这个页面可以放置一些用户信息或者某些博客等用户想要展现的内容,这些信息的获取通过get https://mygithub.com/name
来获取,在这个页面中需要设计相关按钮来跳转至用户博客界面,点击后通过get https://mygithub.com/name/articles
得到用户的文章的相关信息。{ "articles":[{ "ID": ... "content": ... },{...}...] }
这里对于返回信息需要进行安全的管理,如果博客的数量过多,那么获取到的数据就会非常的庞大,影响页面的响应,所以这里可以设置分页来获取博客,比如每个页面只有10篇文章,那么这里可以对articles的API进行通过参数来过滤:
?limit=10 //返回10篇文章 ?page=1&per_page=10 //返回第一页,10篇文章
-
博客的操作
在之前已经进入博客页面了,获取到了若干用户博客,这时用户可以用过点击博客进入相应的博客页面进行访问。在这里对每条博客都需要单独设置一个ID,这个ID对每个博客都是不同的,所以博客可以通过这个ID来进行分别,假设用户点击的博客ID是number,那么访问的请求为get https://mygithub.com/name/articles/number
,这样就可以唯一的拿到用户需要的博客。在这个博客页面中用户可以查看、编辑,编辑成功后通过put https://mygithub.com/name/articles/number
来对博客内容进行更新,这里put到后台的json信息有用户信息,博客ID,以及博客的内容,然后保存到数据库中。{ "ID": ... "content": ... "time": ... "info": "update" }
(这里用户的信息可以不再提交上去,在之前登陆时保存用户信息,这里直接使用即可)
然后是删除文章,删除直接使用
delete https://mygithub.com/name/articles/number
即可制定删除相应的文章,返回用户信息,文章ID信息到后台即可。{ "ID": ... "info": "delete" }
-
profile用户信息页面
在这个页面用于显示用户的信息get https://github.com/name/profile
,返回用户的相关信息到网页上,在这里可以对用户信息进行更改,编辑完成后使用put https://github.com/name/profile
来对信息进行更新。{ "userinfo": { "passwd": ... //(otherinfo) }, "info": "update user info" }
使用swagger简单的实现了一些项目地址