web-dev-qa-db-fra.com

Comment utiliser 'require' pour importer un JSON dans le contrôleur NestJS?

J'essaye de renvoyer un fichier json en tant que réponse du contrôleur, mais je ne peux pas obtenir le contenu du json.

import { Controller, Get, Res, HttpStatus, Query } from '@nestjs/common';
import { Response } from 'express';

import * as MOCKED_RESPONSE_TS from './data/payment-method.data'; // this ts file is imported fine
const MOCKED_RESPONSE = require('./data/payment-method-mock'); // this json file is not found

@Controller('commons')
export class CommonController {

@Get('/payment-method')
  getPaymentMoethod(@Res() res: Response): any {
    res.status(HttpStatus.OK).send(MOCKED_RESPONSE);
  }

}

En fait, le journal renvoie: Error: Cannot find module './data/payment-method' et l'application ne se compile pas

J'ai fait cela avec express (même avec TypeScript) et fonctionne très bien.

Je ne sais pas si je dois configurer mon projet pour lire jsons (je suis nouveau sur Nest). Au moment où j'ai créé un fichier TypeScript exportant un const avec le contenu json et je l'ai appelé avec succès

assurez-vous d'abord que vous l'appelez correctement.

Avez-vous une réponse? sinon, vérifiez le nom de votre méthode car il est orthographié comme ceci: getPaymentMoethod et il devrait être ceci: getPaymentMethod.

Deuxièmement, je recommanderais d'exiger en dehors de la méthode et de la définir sur une constante.

Enfin, essayez de l'encapsuler dans JSON.stringify() pour convertir la réponse en un objet stringified json

0
BRose