使用Koa制作地址数据接口

2020-04-09  本文已影响0人  时不我与_

Koa短信接口
Koa+ES6
Mongoose
Sequelize
地址接口无论在我们任何一个项目中,都是十分重要并且基本的功能的。
所以本次我们通过使用Koa结合MongoDB数据库来制作一个地址接口。

//首先我们还是建立模型,不需要特别多的内容。
import mongoose from 'mongoose'
const Schema = mongoose.Schema
const AddressSchema = new Schema({
  id: {
    type: Number
  },
  name:{
    type: String
  }
})

export default mongoose.model('area', AddressSchema)
import Router from 'koa-router'
import Address from '../../dbs/models/Address'
//引入路由以及模型文件

const router = new Router({
  prefix: '/address'
})
//定义路由前缀
router.get('/', async (ctx, next) => {
  const findResult = await Address.find({})
  if(findResult.length > 0){
    ctx.body = {
      status:200,
      msg:'城市列表',
      success:true,
      data:findResult
    }
    ctx.status = 200
  } else {
    ctx.status = 500;
    ctx.body = {
      success: false,
      msg:'啊哦,你瞅瞅你是不是请求错了',
      status: 500
    }
  }
})

router.get('/getProvince', async (ctx, next) => {
  const findResult = await Address.find({},{name:true,id:true})
//这样我们只将ID以及Name设置为True 这样我们查询的数据中只会显示表中定义的name以及id了
  if(findResult.length > 0) {
    ctx.body = {
      findResult,
      status: 200,
    }
  } else {
    ctx.body = {
      status: 500,
      msg: '啊哦,你查询的内容丢失了'
    }
  }
})
router.get('/city', async (ctx, next) => {
  let { Province } = ctx.request.body
  console.log(Province)
  // const findResult = await Address.find({'name':Province})
  const findResult =await Address.find({ name:{$regex:Province,$options: '$i'}})
  if(findResult.length > 0) {
    ctx.body = {
      findResult,
      status: 200,
      msg: '查询成功'
    }
  } else {
    ctx.body = {
      status: 500,
      msg: '您查找的数据被丢进了异次元'
    }
  }
})router.get('/city', async (ctx, next) => {
  let { Province } = ctx.request.body
// 在这里我们使用了模糊查询的方式。
//因为很多用户是不一定会输入一个XX市、XX省固定的格式的。
//毕竟用户才是上帝,要从用户方便的角度来出发。
//他们很有可能只是输入一个北京、上海等等,所以我们需要进行模糊的匹配。
  const findResult =await Address.find({ name:{$regex:Province,$options: '$i'}})
  if(findResult.length > 0) {
    ctx.body = {
      findResult,
      status: 200,
      msg: '查询成功'
    }
  } else {
    ctx.body = {
      status: 500,
      msg: '您查找的数据被丢进了异次元'
    }
  }
})
export default router
gogogo
上一篇下一篇

猜你喜欢

热点阅读