es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Intentando configurar variables de entorno en appSettings.json – Angular y Typescript

Básicamente estoy tratando de establecer la ruta de la URL de la API en appSettings para poder cambiar fácilmente entre los entornos de producción y desarrollo.

Este es mi archivo appSettings.json. apiURL es la variable que estoy intentando establecer y obtener.

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*",
  "apiURL": "http://10.241.2.68:8132/api"
}

Aquí está mi página que intenta acceder a la variable de entorno que establecí en appSettings.json.

import { Injectable } from '@angular/core';
// import { Defendant } from 'src/app/Models/Defendant';
import { Charge } from 'src/app/Models/Charge';
import { DefendantItem } from '../Models/DefendantItem';
import { Defendant_Charge } from '../Models/Defendant_Charge';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { AppConfiguration } from "read-appsettings-json";

@Injectable({
  providedIn: 'root'
})
export class ChargeService {
  //console.log(AppConfiguration.Setting().apiURL);
  ////////////////////////////////////////////////////////////////
  // a continuación intento utilizar la variable de entorno
  // el programa completo falla y muestra "GET \" en la página.
  ChargeControllerUrl = AppConfiguration.Setting().apiURL + "/Charges";
  //ChargeControllerUrl = "http://10.241.2.68:8132/api/Charges";
}
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para configurar la ruta URL de la API en appSettings y facilitar el cambio entre entornos de producción y desarrollo, puedes seguir los siguientes pasos:

    1. Abre el archivo appSettings.json y agrega un nuevo par clave-valor para la ruta URL de la API. Por ejemplo:
    {
      "Logging": {
        "LogLevel": {
          "Default": "Information",
          "Microsoft": "Warning",
          "Microsoft.Hosting.Lifetime": "Information"
        }
      },
      "AllowedHosts": "*",
      "apiURL": "http://localhost:3000"  // Agrega aquí la ruta URL de tu API
    }
    
    1. Importa la clase AppConfiguration de read-appsettings-json en el servicio o componente donde deseas usar la URL de la API. Por ejemplo:
    import { AppConfiguration } from "read-appsettings-json";
    
    1. Crea una variable en tu servicio o componente para almacenar la ruta URL de la API. Por ejemplo:
    ChargeControllerUrl: string;
    
    1. Asigna el valor de apiURL del método AppConfiguration.Setting() a la variable creada en el paso 3. Por ejemplo:
    ChargeControllerUrl = AppConfiguration.Setting().apiURL + "/Charges";
    
    1. Utiliza la variable ChargeControllerUrl para realizar solicitudes HTTP a tu API. Por ejemplo:
    this.http.get(`${this.ChargeControllerUrl}/${id}`).pipe(
      catchError(this.handleError)
    );
    

    Siguiendo estos pasos, puedes cambiar fácilmente entre entornos de producción y desarrollo modificando el valor de apiURL en appSettings.json sin tener que cambiar el código en tu servicio o componente.

Comments are closed.