当前位置: 首页 > news >正文

node - koa 获取 Content-Type: text/plain 的数据

目录

  • 1,Content-Type
  • 2,koa 获取请求的数据

1,Content-Type

Content-Type HTTP 标头用于设置资源的类型,常用的有3个:

  • application/json
  • application/x-www-form-urlencoded,form 表单提交的格式。
  • multipart/form-data,用于上传,
  • text/plain

2,koa 获取请求的数据

一般情况下,都会使用 koa-bodyparser 来解析 post 请求的数据:

const Koa = require("koa");
const Router = require("koa-router");
const { bodyParser } = require("@koa/bodyparser");const app = new Koa();
const router = new Router();router.post("/api/login", (ctx) => {console.log(ctx.request.body);const { name, pwd } = ctx.request.body;if (name === "下雪天的夏风" && pwd === "123") {ctx.body = "登录成功";} else {ctx.body = {code: 500,msg: "用户名或密码错误",};}
});app.use(bodyParser()).use(router.routes());
app.listen(3001);

默认情况下,koa-bodyparser 会解析 application/jsonapplication/x-www-form-urlencoded 这2种格式。这是因为配置项 enableTypes 默认为:['json', 'form']

所以修改该配置项即可:

app.use(bodyParser({enableTypes: ["json", "form", "text"],})).use(router.routes());
app.listen(3001);

注意:

  • 如果请求头中 Content-Type: text/plain,那发送的数据就是 String 类型,通过 ctx.request.body 得到的也是 String 类型。
  • use(bodyParser()) 需要放到 use(router.routes()) 之前才会生效。

以上。

http://www.lryc.cn/news/267016.html

相关文章:

  • 树形结构
  • 《C++避坑神器·二十四》简单搞懂json文件的读写之根据键值对读写Json
  • SQL进阶理论篇(二十一):基于SQLMap的自动化SQL注入
  • xtu oj 1055 整数分类
  • (2023|CVPR,Corgi,偏移扩散,参数高斯分布,弥合差距)用于文本到图像生成的偏移扩散
  • ACE中为socket增加keepalive策略(windows和linux)
  • 前端工程注入版本号
  • Android 10.0 SystemUI禁用长按recent键的分屏功能
  • 自媒体实战篇:作品爆款三要素的使用场景和重要性
  • Hbase的安装配置
  • VMware17Pro虚拟机安装Linux CentOS 7.9(龙蜥)教程(超详细)
  • QT trimmed和simplified
  • Ensp dhcp全局地址池(配置命令 + 实例)
  • spring aop实际开发中怎么用,Spring Boot整合AOP,spring boot加spring mvc一起使用aop,项目中使用aop
  • C语言操作符if语句好习惯 详解分析操作符(详解4)
  • 【什么是泛型,有什么好处】
  • Stable Diffusion系列(三):网络分类与选择
  • Twincat中PLC的ST语言编程实现机器人安全交互
  • Redis实现日榜|直播间榜单|排行榜|Redis实现日榜01
  • 如何使用内网穿透工具实现Java远程连接本地Elasticsearch搜索分析引擎
  • C语言数据结构-----常用七种排序介绍、分类、实现及性能比较
  • 2023年山东省职业院校技能大赛高职组 “软件测试”赛项竞赛任务四 单元测试
  • 在Redis客户端设置连接密码 并演示密码登录
  • 阿里云公有云平台
  • Zookeeper的学习笔记
  • leetcode2两数加和问题(链表)
  • VSCode中配置prettier和ESLint
  • 如何将本地websocket发布至公网并实现远程访问服务端
  • 分享 | 软件测试的基本流程是什么?软件测试流程详细介绍
  • 浮点数的转换--IEEE 754