post请求接收数据(接口)(Typescript)
用Node+Typescript+Express书写post请求接收数据(接口)
准备JSON文件
在package.json同级下建
名为data的文件夹,里面建
你要的xxx.json文件和汇总的xxx.ts文件
- 我建了posts.json,data.ts
- json里是数组对象的形式
- post后在原来基础上加,可以是空posts.json文件
- 上传到服务器某个角落,目前没找到,
- postman测试可以看到
data.ts代码
import posts from './posts.json' |
server.ts里配置
- apiCreatePost是进行了模块化api,后面会说,不急。
npm install body-parser
- 因为post,收到undefined,用这个插件转化
- 有时引入格式更新,在https://www.npmjs.com/
- 搜索body-parser查找格式
import express from "express";
import bodyParser from "body-parser";//这里
import { apiCreatePost } from "./api/posts/apiCreatePost";
const app = express()
app.use(bodyParser.urlencoded({ extended: false })) //这里
app.use(bodyParser.json()) //这里
// routes
app.get('/',(req,res,next)=>{
res.send('nho,oooooo')
})
app.post('/posts',apiCreatePost)
// 监听端口
app.listen(process.env.PORT || 8091,()=>{
console.log('Server started...')
})
模块化api
在package.json同级下建
名为api的文件夹,里面建
- 再建xxx的文件夹如(posts)将你命名的模块化函数名写xxx.ts文件
- apiCreatePost部署到/post路由的数据函数
- NewPost也是一个模块,提供一个数据传入的模板,后面讲,不急
npm install uuid
npm i @types/uuid -D
- 自动生成id字符串,且独一无二
- 有时引入格式更新,在https://www.npmjs.com/
- 搜索uuid查找格式
import {RequestHandler} from 'express';
import { v4 as uuid } from 'uuid';
import { DataStore } from '../../data/data';
import { NewPost } from "../../interface/newPost";
// uuid时string,类型
export const apiCreatePost : RequestHandler = (req,res)=>{
// console.log(req.body)
const newPost:NewPost = {
id: uuid(),
userId : req.body.userId || 1,
title: req.body.title,
body: req.body.body,
price: req.body.price,
currency :req.body.currency
};
DataStore.posts.push(newPost);
// res.send('数据添加成功')
res.json(newPost)
}
数据模板
在package.json同级下建
名为interface的文件夹,里面建
- 建你命名的模块化函数名写xxx.ts文件
- newPost.ts部署到/post路由的数据函数
- 为什么是这样的格式
- DataStore.posts.push(newPost);鼠标移入会有提示
export interface NewPost{
id:string,
userId:number,
title:string,
body:string,
price:number,
currency:string
}
postman
- 转换成post
- 点body
- 点亮x-www-form-urlencoded红色
- 根据你的key,value格式写
- 点Send
以上是我的学习笔记~
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 XxiaoMin Blog!