El tipo ‘string[]’ no se puede asignar al tipo ‘string’ en Nestjs.
Estoy intentando descargar un archivo llamando a una API externa en NestJS.
A continuación se muestra mi código en el servicio:
import { Injectable } from '@nestjs/common';
import * as fs from "fs";
import * as axios from "axios";
@Injectable()
export class FileService {
saveFile() {
return axios.default
.get("https://www.nseindia.com/")
.then((res) => {
return axios.default.get(
"https://www.nseindia.com/api/option-chain-indices?symbol=BANKNIFTY",
{
headers: {
cookie: res.headers['set-cookie'],
},
}
);
})
.then((res) => {
//console.log(res.data);
let data = JSON.stringify(res.data);
fs.writeFileSync("../files/option-chain-indices.json", data);
return data;
})
.catch((err) => {
console.log(err);
});
}
}
Estoy obteniendo el siguiente error:
error TS2322: Type 'string[]' is not assignable to type 'string'.
cookie: res.headers['set-cookie']
¿Cómo puedo resolver este problema?
davy.ai
El mensaje de error indica que la propiedad
res.headers['set-cookie']
es un array de strings, pero el encabezadocookie
espera un solo valor de tipo string. Para resolver este problema, puedes unir el array de strings de cookies en un solo string utilizando el métodojoin
, de la siguiente manera:Esto concatenará todos los strings de cookies con un punto y coma seguido de un espacio como separador, que es el formato estándar para combinar múltiples cookies en un solo valor de encabezado.