当前位置: 首页 > news >正文 装修网站制作wordpress 360加速 news 2025/10/22 13:08:37 装修网站制作,wordpress 360加速,商场网站建设,潍坊米搜网站建设以用户注册接口为例#xff0c;需要在请求里携带2个参数#xff1a;用户名#xff08;user_name#xff09;和密码#xff08;password#xff09;。 开发者需要在接口端#xff0c;解析出user_name 、password。 在使用Koa开发的接口中#xff0c;如何解析出请求携带…以用户注册接口为例需要在请求里携带2个参数用户名user_name和密码password。 开发者需要在接口端解析出user_name 、password。 在使用Koa开发的接口中如何解析出请求携带的参数呢 koa-body koa-body是一个用于 Koa 框架的中间件它主要用于处理 HTTP 请求中的请求体。 安装koa-body npm install koa-body -D主要功能 可处理的请求类型 multipart/form-data用于文件上传和包含复杂表单数据的请求。application/x-www-form-urlencoded常见的表单数据编码格式用于简单的表单提交。application/json以 JSON 格式传输数据的请求。application/json-patchjson用于对 JSON 数据进行补丁操作的请求格式。application/vnd.apijson可能是一种特定的 API 数据格式。application/csp-report内容安全策略CSP违规报告的请求格式。text/xmlXML 格式的请求。 解析请求体 可以解析各种类型的请求体包括表单数据、JSON 数据、文件上传等。对于表单数据它可以解析 application/x-www-form-urlencoded 和 multipart/form-data 类型的请求体。对于 JSON 数据它可以解析 application/json 类型的请求体。 提供方便的访问方式 解析后的请求体数据可以通过 ctx.request.body 来访问。如果是表单数据可以通过 ctx.request.body[fieldName] 来访问特定字段的值。如果是 JSON 数据可以直接访问对象属性例如 ctx.request.body.propertyName。 文件上传处理 对于文件上传koa-body 可以将上传的文件存储在指定的目录中并提供文件的信息如文件名、大小、路径等。可以通过配置选项来控制文件上传的大小限制、存储路径等。 中间件模式 koa-body允许在不同的中间件之间共享解析后的请求体而无需重复解析。 错误处理 内置了对解析过程中的错误进行捕获和处理避免因解析问题导致应用崩溃。 Options 选项 patchNode {Boolean}是否将请求体修补到 Node.js 的 ctx.req默认为 false。patchKoa {Boolean}是否将请求体修补到 Koa 的 ctx.request 上默认为 true。jsonLimit {String|Integer}设置 JSON 请求体的字节大小限制默认为 1mb。formLimit {String|Integer}设置表单格式请求体的字节大小限制默认为 56kb。 表单格式application/x-www-form-urlencoded 和 multipart/form-data textLimit {String|Integer}设置文本格式请求体的字节大小限制默认为 56kb。encoding {String}设置传入表单字段的编码默认为 utf-8。multipart {Boolean}是否解析多部分格式multipart/form-data 的请求体默认为 false。urlencoded {Boolean}是否解析 URL 编码的表单请求体默认为 true。text {Boolean}是否解析文本格式的请求体如 XML默认为 true。json {Boolean}是否解析 JSON 格式的请求体默认为 true。jsonStrict {Boolean}切换co-body的严格模式。默认为true。 如果设置为 true则只解析数组或对象。 includeUnparsed {Boolean}切换co-body的returnRawBody选项。默认为false。 如果设置为true对于表单编码和 JSON 请求原始的、未解析的请求体将使用Symbol附加到 ctx.request.body上。 formidable {Object}传递给formidable多部分解析器的选项。 用于配置 multipart/form-data 请求的处理。可以包含以下属性 uploadDir文件上传的目录。默认为操作系统的临时目录。keepExtensions是否保留上传文件的扩展名。默认为 false。maxFieldsSize表单字段的最大大小。默认为 2mb。maxFields表单字段的最大数量。默认为 1000。hash用于计算上传文件的哈希值的算法。默认为 false。如果设置为一个字符串则会使用指定的算法计算哈希值并将哈希值添加到文件对象的 hash 属性中。 onError {Function}自定义错误处理函数如果抛出错误可以自定义响应 ——onError(error, context)默认情况下会抛出错误。parsedMethods {String[]}声明将解析请求体的 HTTP 方法默认为[POST, PUT, PATCH]取代了strict选项。 关于 parsedMethods 的说明 GET、HEAD 和 DELETE 请求对于请求体没有定义的语义但这并不意味着在某些特定用例中它们可能不是有效的。 koa-body 在默认情况下是严格的仅解析 POST、PUT 和 PATCH 请求。 开发者可以使用枚举enumeration或者字符串来选择要解析的方法。例如HttpMethodEnum.PATCH。 使用koa-body解析 body 在app/index.js中引入koa-body注册koa-body为 koa 中间件 const Koa require(koa); // 引入koaBody注意koaBody是一个函数 const { koaBody } require(koa-body)const userRoute require(../router/userRoute)const app new Koa();// koaBody是一个函数 // 因为koaBody负责解析请求体因此应该在所有路由处理之前注册koaBody中间件。 // 中间件的作用是在请求到达路由处理函数之前对请求进行预处理。 app.use(koaBody())// 注册中间件,注意app.use 必须接收函数作为中间件 app.use(userRoute.routes())module.exports app改写controller/userController.js class userController {async register(ctx, next) {// 所有在node.js 环境的打印都会展示在终端console.log(ctx.request.body)// 把请求体作为返回内容ctx.body ctx.request.body} }// 导出userController的实例new userController()是一个对象 module.exports new userController()使用 postman 测试接口 接口成功读取了user/register请求携带的参数并将请求体作为返回内容。 koa-body注册为 Koa 中间件发生了什么 当把 koa-body 注册为 Koa 中间件时会发生以下一系列的过程 请求接收阶段 当客户端向服务器发送请求时请求首先到达 Koa 应用。Koa 按照中间件的注册顺序依次调用中间件函数。 koa-body 中间件执行koa-body 中间件开始处理请求体。 对于不同类型的请求体格式如 JSONapplication/json、表单数据application/x-www-form-urlencoded和多部分表单数据multipart/form-data分别进行解析。根据配置选项如 jsonLimitJSON 请求体大小限制、formLimit表单请求体大小限制等确保请求体在可接受的范围内。如果请求体是 JSON 格式将其解析为一个 JavaScript 对象并将这个对象存储在 ctx.request.body 中以便后续的中间件和路由处理函数可以方便地访问和处理这些结构化的数据。如果是表单数据格式同样将其解析为一个对象并存储在 ctx.request.body。对于多部分表单数据除了解析表单字段外如果有文件上传还会处理文件上传操作。将上传的文件存储在服务器的临时位置并将文件信息如文件名、文件路径、文件大小、文件 MIME 类型等封装成文件对象存储在 ctx.request.files仅在多部分表单数据请求中可用数组中。 后续中间件和路由处理 经过 koa-body 中间件处理后请求继续传递给下一个中间件或路由处理函数。后续的中间件和路由处理函数可以通过 ctx.request.body 和 ctx.request.files来获取解析后的请求体数据和上传的文件信息进行进一步的业务逻辑处理。 例如在一个处理用户注册的路由中可以从 ctx.request.body 中获取用户提交的表单数据包括用户名、密码等信息进行数据验证和存储到数据库等操作。如果有文件上传如用户上传头像图片可以从 ctx.request.files 中获取上传的文件信息进行文件存储和处理。 响应发送阶段 当所有中间件和路由处理函数执行完毕后Koa 根据处理结果生成响应。将响应发送回客户端完成一次请求 - 响应循环。 API 详细说明 ctx.request.body包含解析后的请求体。 如果请求体是 JSON 格式则会被解析为一个 JavaScript 对象。如果请求体是 application/x-www-form-urlencoded 或 multipart/form-data 格式则会被解析为一个对象或一个包含文件对象的对象。 ctx.request.files仅在 multipart/form-data 请求中可用。包含上传的文件对象的数组。 每个文件对象包含以下属性 name文件字段的名称。path文件在服务器上的临时路径。size文件的大小。type文件的 MIME 类型。 文章转载自: http://www.morning.rsfp.cn.gov.cn.rsfp.cn http://www.morning.xinxianzhi005.com.gov.cn.xinxianzhi005.com http://www.morning.nqrfd.cn.gov.cn.nqrfd.cn http://www.morning.xhqr.cn.gov.cn.xhqr.cn http://www.morning.xbmwh.cn.gov.cn.xbmwh.cn http://www.morning.hqlnp.cn.gov.cn.hqlnp.cn http://www.morning.splcc.cn.gov.cn.splcc.cn http://www.morning.rdng.cn.gov.cn.rdng.cn http://www.morning.sqmlw.cn.gov.cn.sqmlw.cn http://www.morning.lwsct.cn.gov.cn.lwsct.cn http://www.morning.ffksr.cn.gov.cn.ffksr.cn http://www.morning.gjfym.cn.gov.cn.gjfym.cn http://www.morning.mhybs.cn.gov.cn.mhybs.cn http://www.morning.lsmgl.cn.gov.cn.lsmgl.cn http://www.morning.nrgdc.cn.gov.cn.nrgdc.cn http://www.morning.bfrsr.cn.gov.cn.bfrsr.cn http://www.morning.fpqq.cn.gov.cn.fpqq.cn http://www.morning.ymfzd.cn.gov.cn.ymfzd.cn http://www.morning.fwlch.cn.gov.cn.fwlch.cn http://www.morning.dbbcq.cn.gov.cn.dbbcq.cn http://www.morning.pljxz.cn.gov.cn.pljxz.cn http://www.morning.tpdg.cn.gov.cn.tpdg.cn http://www.morning.bpmdh.cn.gov.cn.bpmdh.cn http://www.morning.fqhbt.cn.gov.cn.fqhbt.cn http://www.morning.c7498.cn.gov.cn.c7498.cn http://www.morning.ggxbyhk.cn.gov.cn.ggxbyhk.cn http://www.morning.pdxqk.cn.gov.cn.pdxqk.cn http://www.morning.rjtmg.cn.gov.cn.rjtmg.cn http://www.morning.tgnwt.cn.gov.cn.tgnwt.cn http://www.morning.dtzsm.cn.gov.cn.dtzsm.cn http://www.morning.yfffg.cn.gov.cn.yfffg.cn http://www.morning.zwtp.cn.gov.cn.zwtp.cn http://www.morning.psdsk.cn.gov.cn.psdsk.cn http://www.morning.jljiangyan.com.gov.cn.jljiangyan.com http://www.morning.hmqmm.cn.gov.cn.hmqmm.cn http://www.morning.cwwbm.cn.gov.cn.cwwbm.cn http://www.morning.wrlxt.cn.gov.cn.wrlxt.cn http://www.morning.hjjhjhj.com.gov.cn.hjjhjhj.com http://www.morning.tlbhq.cn.gov.cn.tlbhq.cn http://www.morning.rjkfj.cn.gov.cn.rjkfj.cn http://www.morning.gqtxz.cn.gov.cn.gqtxz.cn http://www.morning.zwyuan.com.gov.cn.zwyuan.com http://www.morning.gjzwj.cn.gov.cn.gjzwj.cn http://www.morning.hfnbr.cn.gov.cn.hfnbr.cn http://www.morning.kqblk.cn.gov.cn.kqblk.cn http://www.morning.hxcrd.cn.gov.cn.hxcrd.cn http://www.morning.dmlgq.cn.gov.cn.dmlgq.cn http://www.morning.mmkrd.cn.gov.cn.mmkrd.cn http://www.morning.qxxj.cn.gov.cn.qxxj.cn http://www.morning.sfwd.cn.gov.cn.sfwd.cn http://www.morning.dwmtk.cn.gov.cn.dwmtk.cn http://www.morning.dqwykj.com.gov.cn.dqwykj.com http://www.morning.lanyee.com.cn.gov.cn.lanyee.com.cn http://www.morning.fqqcn.cn.gov.cn.fqqcn.cn http://www.morning.zkdmk.cn.gov.cn.zkdmk.cn http://www.morning.mpszk.cn.gov.cn.mpszk.cn http://www.morning.krdmn.cn.gov.cn.krdmn.cn http://www.morning.qfwzm.cn.gov.cn.qfwzm.cn http://www.morning.dhyqg.cn.gov.cn.dhyqg.cn http://www.morning.lmknf.cn.gov.cn.lmknf.cn http://www.morning.xzlp.cn.gov.cn.xzlp.cn http://www.morning.monstercide.com.gov.cn.monstercide.com http://www.morning.nwllb.cn.gov.cn.nwllb.cn http://www.morning.kcypc.cn.gov.cn.kcypc.cn http://www.morning.ptdzm.cn.gov.cn.ptdzm.cn http://www.morning.ptzbg.cn.gov.cn.ptzbg.cn http://www.morning.pdbgm.cn.gov.cn.pdbgm.cn http://www.morning.dnpft.cn.gov.cn.dnpft.cn http://www.morning.mhmdx.cn.gov.cn.mhmdx.cn http://www.morning.yqtry.cn.gov.cn.yqtry.cn http://www.morning.rgxcd.cn.gov.cn.rgxcd.cn http://www.morning.gtxrw.cn.gov.cn.gtxrw.cn http://www.morning.fllfc.cn.gov.cn.fllfc.cn http://www.morning.rqlf.cn.gov.cn.rqlf.cn http://www.morning.qhrdx.cn.gov.cn.qhrdx.cn http://www.morning.brmbm.cn.gov.cn.brmbm.cn http://www.morning.lsnnc.cn.gov.cn.lsnnc.cn http://www.morning.wfjrl.cn.gov.cn.wfjrl.cn http://www.morning.jkftn.cn.gov.cn.jkftn.cn http://www.morning.qxlgt.cn.gov.cn.qxlgt.cn 查看全文 http://www.tj-hxxt.cn/news/239744.html 相关文章: 表述网站建设流程嘉兴网站建设正规公司 不关站备案wordpress 2019校园设计网站 网站未备案可以上线吗罗湖最新通告 做同城服务网站比较成功的网站wordpress 首页显示分类 哪位大神推荐一下好网站澄海网站建设公司 温州网站建帝国cms 网站地图 xml 管理网站英文广州网站建设海珠信科 网站背景更换wordpress打包app 东莞网页制作免费网站制作摄影师招聘网站 枣强网址建站婚纱定制网站哪个好 百度推广移动端网站百姓装潢上海门店具体地址 商城网站如何优化电商网站做互联网金融 商城类网站建设需要多少钱廊坊网站建设团队 西安优秀的定制网站建设公司哪家好网址缩短链接在线工具 广州海珠网站设计北京市网站制作设计 网站建设怎么搞银川手机网站建设 郑州市的实惠推广网站wordpress空间清理 东南亚做棋牌网站上海自聊自做网站 海外网站如何做用户实名认证网站搭建网 福州企业网站模板建站如何制作网站的步骤 《网站建设方案》在北京网站建设的岗位 企业网站模板下载需谨慎中国兰州网 做网投网站好wordpress 源码讲解 非模板网站水果网店网站建设策划书 万网备案网站名称wordpress怎么注册用户 厦门市建设局综合业务平台网站开一个网站的流程 常州微信网站建设市场wordpress 分类文章置顶插件 农安县建设局官方网站网站子站建设 php 调试网站建设企业官方网站 免费浏览外国网站的软件中国旅游网站排名