- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将现有的基于 PHP 的 API 重写为 NestJS(同时学习 NestJS)。
重要的一点是我无法触及前端服务,因此我需要确保新应用程序可以处理前端发送给它的任何内容,并使用与原始 api 相同的数据结构进行响应。
这就是我碰壁的地方。前端应用程序提交的所有内容都采用formdata 的形式。 NestJS 文档中给出的唯一示例与获取上传的文件有关,但与它可能附带的任何其他数据无关。到目前为止,Google 搜索并没有太大帮助。
我找到的最好的是这篇 SO 帖子 Accept form-data in Nest.js但我仍然无法获取提交的数据。
提交的数据:
> POST /public/login HTTP/1.1
> Host: localhost:3000
> Content-Type: multipart/form-data;
> Accept: */*
> Content-Length: 196
| Content-Disposition: form-data; name="login"
| sampleuser
| Content-Disposition: form-data; name="password"
| userpassword
我的 authentication.controller.ts 的内容:
import { Controller, Post, Body, Get, Param, Patch, Delete, Req, Header, UseInterceptors, } from "@nestjs/common";
@Controller()
export class AuthenticationController {
constructor() { }
@Post('public/login')
@UseInterceptors()
login(@Body() body) {
console.log(body);
}
}
日志结果只是{}
我在这里遗漏/做错了什么。我是否需要安装一些额外的 npm 包才能完成这项工作?获得这样的通用数据肯定不会那么困难。有人能给我指出正确的方向或一个可行的例子吗。
谢谢
最佳答案
当提供表单数据时(主要用于文件上传,或者至少,这是我应用此内容类型的唯一方式),我认为 NestJS 提供了相同的方法。所以,我建议使用 FileInterceptor
。
试试这个:
import { Controller, Post, Body, Get, Param, Patch, Delete, Req, Header, UseInterceptors, } from "@nestjs/common";
import { FileInterceptor } from '@nestjs/platform-express';
@Controller()
export class AuthenticationController {
constructor() { }
@Post('public/login')
// You're not actually providing a file, but the interceptor will expect "form data"
// (at least in a high level, that's how I think this interceptor works)
@UseInterceptors(FileInterceptor('file'))
login(@Body() body) {
console.log(body);
}
}
关于nestjs - 如何在 NestJS Controller 中获取表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69282724/
我一直在开发一个 .NET 字符串格式化库来协助应用程序的本地化。它称为 SmartFormat 并在 GitHub 上开源. 它试图解决的问题之一是 Grammatical Numbers .这也称
leetcode关于单数II的题目是: 给定一个整数数组,除一个元素外,每个元素出现三次。找到那一个。笔记:您的算法应该具有线性运行时复杂度。你能在不使用额外内存的情况下实现它吗? 其实我已经从网站上
我想知道创建/命名模型的首选方法是什么? 我的应用程序有一个“用户”模型,其中包含用于创建、获取、更新(等)用户记录的所有相关业务逻辑。 在我的一些 Controller 中,我可能想要获取多个“用户
在我的 Mysql 数据库中,我有一个术语列表,例如(首字母大写,大多数时候是复数) Hairdressers Restaurants Beauty Salons Fournitures For Re
如果我决定为我的所有路线名称使用复数形式,但某些资源仅作为一个东西存在,您是否将其保持为单数(更直观)或尊重使用复数的决定并保持这种方式? 我们正在用 PHP 为我们的客户门户网站设计一个新的 API
我可能在做一些愚蠢的事情,但是...... 应用/模型/user.rb: class User 然后,当我导航到 /users/123/totem/new 时,出现错误: ActionView::
您能否澄清一些 Matplotlib 术语: “subplots”(或“subplot”?)这个词是“axes”的同义词吗? “轴”和“轴”的单数/复数是什么? 最佳答案 这确实是一个令人困惑的问题。
我有一个 profile我的应用程序中的模型。我想允许用户通过 /profile 查看他们自己的个人资料,所以我创建了这条路线: resource :profile, :only => :show 我
我是一名优秀的程序员,十分优秀!