GOOGLE ADS

lunes, 18 de abril de 2022

Acceda a la respuesta del encabezado HTTP dentro de NGRX Effect Angular

En mi aplicación Angular, al realizar con éxito un POST al servidor, recibo una respuesta 201 que contiene una ubicación en los encabezados de respuesta a los que deseo acceder dentro de mis efectos NGRX. La ubicación contiene una identificación que necesito en otro efecto para activar una llamada de servicio.

ingrese la descripción de la imagen aquí

ACCIÓN NGRX:

export const postJobOfferSuccess = createAction('[JobOffer] Post jobOffer success', props<{ successMessage: string, publish: boolean, final: boolean, response: HttpHeaderResponse }>());

EFECTO NGRX:

postJobOffer$ = createEffect(() =>
this.actions$.pipe(
ofType(postJobOffer),
mergeMap(action => {
return this.jobOfferClientService.postJobOffer(action.jobOffer).pipe(
map((response) => postJobOfferSuccess({ successMessage: 'Success', publish: action.publish, final: action.final, response: response.HttpHeaderResponse })),
mapErrorToAction(postJobOfferFailed)
);
})
)
);

Esperaría que mi postJobOfferSuccess contenga una respuesta con HTTPHeaderResponse, sin embargo, al inspeccionar mi pestaña redux, no muestra la respuesta del encabezado. ¿Cómo puedo acceder a HTTPHeaderResponse dentro de un efecto?

mi pestaña redux:

ingrese la descripción de la imagen aquí


Solución del problema

En su servicio tiene que escuchar la respuesta:


this.http.post('http//...', payload, { observe: 'response' }).pipe(
tap(res => console.log(res)) // headers = res.headers | data = res.body
);

No hay comentarios.:

Publicar un comentario

Flutter: error de rango al acceder a la respuesta JSON

Estoy accediendo a una respuesta JSON con la siguiente estructura. { "fullName": "FirstName LastName", "listings...