Nest.js 处理 XML 请求及响应

0x01 背景

笔者最近在使用 Nest.js 开发服务端程序,遇到了一些需要处理 XML 的场景,搜遍了网络上发现没有比较优雅的方式,于是摸索后将过程整理出来。

0x02 研究

Google 搜索 nest handle xml 的第一个结果是一篇中文文章:

Nest 中处理 XML 类型的请求与响应

但是照猫画虎了一番,发现 TS 总是报错,可能是 body-parser-xml 实现得不算很优雅,而且对 TS 支持得不够好,就放弃了。

Nest.js 底层框架默认是 Express,搜索得知默认会使用 body-parser 来处理请求,但是不支持,所以第一步首先要修改支持 application/xml 的 **Content-Type,**配合 Nest 的 middleware,我们可以封装一层,只针对单个 module 来使用。

同时对比了一下 XML 的处理模块,发现 fast-xml-parser ⭐️⭐️最多,所以决定使用它来进行 XML 和 JSON 间的相互转换。

0x03 编码

好,上代码~,首先我们创建一个 middleware,使用如下命令:

nest g middleware xml

Nest CLI 会生成 xml.middleware.ts,编写如下代码:

import { 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值