为了账号安全,请及时绑定邮箱和手机立即绑定

【金秋打卡】第8天 Node.js+Express+Koa2 开发Web Server博客 6-7

标签:
征文 活动

课程名称: 2022全新 Node.js+Express+Koa2 开发Web Server博客

课程章节: 6-7 API对接mysql(博客详情和新建)

课程讲师: 双越

课程内容:
修改项目 blog-1 文件夹。
对 博客详情 和 新建 进行修改
./src/controller/blog.js

/* 
  数据层
*/
const { exec } = require("../db/mysql");


// 获取博客详情
const getDetail = (id) => {
  const sql = `select * from blogs where id='${id}'`;

  return exec(sql).then((rows) => {
    // 返回一个对象
    return rows[0];
  });
};

// 新建一篇博客
const newBlog = (blogData = {}) => {
  // blogData 是一个博客对象,包含 title content author 属性
  const title = blogData.title;
  const content = blogData.content;
  const author = blogData.author;
  const createTime = Date.now();

  const sql = `
      insert into blogs (title, content, createTime, author ) 
      value ('${title}', '${content}', ${createTime}, '${author}')
    `;

  return exec(sql).then((insertData) => {
    // console.log("insertData is", insertData);
    return {
      id: insertData.insertId,
    };
  });
};


module.exports = {
  getDetail,
  newBlog,
};

./src/router/blog.js

const {
  getDetail,
  newBlog,
} = require("../controller/blog.js");

const { SuccessModel, ErrorModel } = require("../model/resModel.js");

// 博客相关接口
const handleBlogRouter = (req, res) => {
  const method = req.method; // GET POST
  const id = req.query.id;

  // 获取博客详情
  if (method == "GET" && req.path === "/api/blog/detail") {
    /* const data = getDetail(id);
    return new SuccessModel(data, "这是获取博客详情的接口"); */
    const result = getDetail(id);
    return result.then((data) => {
      return new SuccessModel(data, "这是获取博客详情的接口");
    });
  }

  // 新建一篇博客
  if (method == "POST" && req.path === "/api/blog/new") {
    /*  const data = newBlog(req.body);
    return new SuccessModel(data, "这是新建博客的接口"); */

    // 假数据,在开发登录时再改成真数据
    req.body.author = "zhangsan";

    const result = newBlog(req.body);
    return result.then((data) => {
      return new SuccessModel(data, "这是新建博客的接口");
    });
  }

};

module.exports = handleBlogRouter;

课程收获:
从mysql获取博客详情和新建博客,有一定的了解
图片描述

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消