node + express + mongodb 编写api接口

一、NodeApi 环境搭建

创建文件夹

新建一个文件夹 nodeApi

在本地终端运行

npm init

创建一个package.json 文件

修改 package.json

 "scripts": {
   
    "start": "node server"
  },

将原来的test启动命令修改为现在的dev,node server的意思是用node启动本地文件server.js,所以我们要在当前文件夹下在创建一个server.js

安装依赖

在本地终端运行

cnpm install express dotenv --save
//如果你没有全局安装过nodemon,需要先全局安装一次
cnpm install -g nodemon
//然后在开发环境安装
cnpm install -D nodemon

修改package.json,添加一个用nodemon启动项目的新命令

   "dev":"nodemon server"

npm安装比较慢,这里我是用淘宝源来安装我们搭建本次项目所需要的环境依赖。

其中express是node的一个框架,每次修改文件都需要重启服务器,所以我们需要nodemon来帮助我们重启。

而dotenv呢?由于项目不同需求,需要配置不同环境变量,按需加载不同的环境变量文件,使用dotenv,可以完美解决这一问题。

创建环境变量

在当前目录下新建文件夹config,在config文件夹下新建文件config.env

NODE_ENV=development
PORT=5000

复制上述代码到新创建的文件下

修改package.json文件

"start": "NODE_ENV=production node server",

当等于生产环境的时候,让我们运行 node server来启动项目

引入依赖和环境变量并使用

const express = require("express")
const dotenv = require("dotenv")

dotenv.config({
   
  path:'./config/config.env',
});

const app = express();

const PORT = process.env.PORT || 3000;

app.listen(PORT,console.log(`Server rnning in ${
     process.env.NODE_ENV} mode on port ${
     PORT}`))

运行 npm run dev 会发现我们运行成功,监听到的是5000端口,这说明环境变量的和依赖的引入没有问题

创建路由

下面是Node接收get请求返回数据的几种方式

// http://localhost:5000/
app.get("/",(req,res)=>{
   
  // res.send("<h1>Hello World</h1>") 发送HTML
  // res.send({mag:"Hello World"}) 发送json格式数据
  // res.json({success:true}) 发送json格式数据
  // res.sendStatus(400) 发送状态码
  res.status(200).json({
   success:true,msg:"Hello World"}) //发送状态码和json数据
})

上面我们访问的都是根路径,现在我们尝试给他新的路由地址及尝试新的请求方法

// http://localhost:5000/api:id
app.get("/api/:id",(req,res)=>{
   
  res.status(200).json({
   success:true,msg:`根据${
     req.params.id}获取单个数据`})
})
// http://localhost:5000/api
app.post("/api",(req,res)=>{
   
  res.status(200).json({
   success:true,msg:`创建新的数据`})
})
// http://localhost:5000/api:id
app.put("/api/:i
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值