如何从Nest固定服务器中创建的中间件发送响应?

问题描述

我已经用Fastify创建了一个nestJs项目,并为其创建了一个中间件,但是我无法弄清楚如何向客户端发送响应,就像我们在快递中可以做的那样,任何帮助都是感谢,谢谢!这是我的中间件代码

import {
  Injectable,nestMiddleware,HttpException,HttpStatus,} from '@nestjs/common';

@Injectable()
export class LoggerMiddleware implements nestMiddleware {
  use(req: any,res: any,next: Function) {
    console.log('Request...',res);
    // throw new HttpException('Forbidden',HttpStatus.FORBIDDEN);
    next();
  }
}

解决方法

看起来像void Main() { string column1 = "Worknumber"; string column2 = "Username"; DataTable table = new DataTable(); table.Columns.Add(column1,typeof(int)); table.Columns.Add(column2,typeof(string)); table.Rows.Add(1234,"john"); table.Rows.Add(1235,"Mike"); table.Rows.Add(1235,"Mike"); table.Rows.Add(1236,"Donald"); table.Rows.Add(1236,"Jack"); table.Rows.Add(1237,"Val"); table.Rows.Add(1237,"Nick"); var result = table.AsEnumerable() .GroupBy(x => x.Field<int>(column1)) .Where(g => g.Count() > 1 && g.GroupBy(x => x.Field<string>(column2)).Count() > 1) .Select(x => new {WorkNumber = x.Key,AllUsers = string.Join(" ",x.Select(u => u.Field<string>(column2)))}).Dump(); } 抽象使用NodeJS vanila Fastify对象(此处注入的httphttp,ServerResponse

res
// app.middleware.ts

import { Injectable,NestMiddleware } from '@nestjs/common';
import { ServerResponse,IncomingMessage } from 'http';

@Injectable()
export class AppMiddleware implements NestMiddleware {
  use(req: IncomingMessage,res: ServerResponse,next: Function) {
    res.writeHead(200,{ 'content-type': 'application/json' })
    res.write(JSON.stringify({ test: "test" }))
    res.end()
  }
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...