小刘同学的第一百篇博文
2018-06-24 01:49:05来源:未知 阅读 ()
达成【100篇博文成就】
跟着老师的视频,今天把接口写好了,主要是riend和detail就是用户详情页。
posts朋友圈文章接口:
// 用户下所有的posts 接口
router.get('/:id/post', (req, res) => {
connect.query(
'select * from posts where userId = ?', //?问号是占位符
{model: model.Post, replacements: [req.params.id]} //replacements起到get链接里的ID替换
// 再吧查询到的结果传到model对象中,model对象就有了相应的增删改方法
).then((list) => {
res.send(list); //返回list
});
});
结果展示返回用户所有朋友圈:
下面是friend接口,就是SQL要注意,不仅是userId = 1(1代表某个用户ID) 而且还要加上friendId也为1的用户信息。
select * from users where id in(select userId from relations where friendId = ?) or id in(select friendId from relations where userId = ?)
// 用户所有的朋友
router.get('/:id/friend', (req, res) => {
connect.query(
'select * from users where id in(select userId from relations where friendId = ?) or id in(select friendId from relations where userId = ?)',
{model: model.User, replacements: [req.params.id, req.params.id]} //两个参数替换
).then((list) => {
res.send(list); //返回list
});
});
其实老师说可以这个SQL这么长,可以另外再写一个.sql文件,把SQL放里面,外面嵌套一个标签。
<user>
select * from users where id in(select userId from relations where friendId = 1) or id in(select friendId from relations where userId = 1)
</user>
但是老师说留个课后作业,让我们自己找怎么把SQL从XML标签里取出来……我也没去查,这个问题就留在这儿吧。
结果展示返回用户朋友列表:
下面是服务端代码包装三个接口,否则就得让前端发3个ajax请求来调接口。(其实这里具体听到不是很懂,只是看课堂上同学们在议论到底是前端写3次请求,还是后端包装3个接口...)
//统一包装三个接口
router.get('/:id/detail', (req, res) => {
USER.findById(req.params.id)
.then(item => {
connect.query(
'select * from posts where userId = ?',
{model: model.Post, replacements: [req.params.id]}
).then((list) => {
item.dataValues.post = list; //返回说说列表
connect.query(
'select * from users where id in(select userId from relations where friendId = ?) or id in(select friendId from relations where userId = ?)',
{model: model.User, replacements: [req.params.id, req.params.id]}
).then((list) => {
item.dataValues.friend = list; //返回朋友列表
res.send(item);
});
});
});
});
上面是服务端包装了3个接口,代码看起来很凌乱,但是没办法,要不然前端乱,要不然后端乱,总有一个地方要乱的。
结果展示返回某一位用户的详细信息、朋友圈列表、好友列表:
今天分享的就是这些,又快到11点半了,说好要改作息时间的,11点之前睡是最理想的了。
不说了,大家晚安呐。
Nice Dream.
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:关于String的属性和方法
下一篇:JavaScript实现乘法表
- 小刘同学的第一百四十四篇博文 2018-06-24
- 小刘同学的第一百三十九篇博文 2018-06-24
- 小刘同学的第一百二十一篇博文 2018-06-24
- 小刘同学的第一百二十二篇博文 2018-06-24
- 小刘同学的第一百一十五篇博文 2018-06-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash