Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

96
Vistas
Angular/Mecanografiado - Respuesta de análisis a la interfaz

tengo la siguiente interfaz

 interface MyObj { myString: string; myNumber: string; myDate: Date; } this.http.get<MyObj>(this.getObjectsURL); Result: { "myString": "test", "myNumber": 12, "myDate": "2011-10-05T14:48:00.000Z"}

Si obtengo los datos, el campo myDate es una cadena y no una fecha.

Si transformo MyObj en un JSON y lo analizo nuevamente, también obtengo una cadena de fecha, y no el tipo correcto. Eso es muy malo :-( ¿Es posible analizar typesafe (para solicitudes HTTP y Json Transform, también?) con transformación a los tipos de datos correctos?

Gracias :-)

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Puede agregar una tubería para transformar la respuesta cuando se recibe.

Crear como servicio para realizar todas las llamadas api dentro del servicio

 getYourObject() { return this.http.get(this.getObjectsURL) .pipe(map(resp => { resp.myDate = new Date(resp.myDate); return data; })); }

de su componente y agregue el servicio como dependencia entonces

 this.serviceName.getYourObject().subscribe((resp: MyObj)=> console.log(resp));
over 4 years ago · Santiago Trujillo Denunciar

0

Básicamente tiene dos tipos, una representación externa/seriada e interna/no serializada,

 interface MyObj { myString: string; myNumber: string; myDate: Date; } interface MyObjSerialized { myString: string; myNumber: string; myDate: string; }

Puede usar el primer tipo para anotar el resultado de la llamada http.get

 const result: Observable<MyObjSerialized> = this.http.get('http://some.where');

A continuación, debe analizarlo explícitamente y convertirlo al tipo de datos interno:

 const parsed: Observable<MyObj> = result.pipe( // alternative: provide a method reference instead of arrow function // angular brackets <From,To> optional map<MyObjSerialized, MyObj>(res => ({ ...res, myDate: new Date(res.myDate) }) );
over 4 years ago · Santiago Trujillo Denunciar

0

Encontré esta biblioteca: https://github.com/pichillilorenzo/jackson-js Tal vez esta sea mi solución ... ¡Lo probaré!

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda