Search code examples
angularapiangular7angular2-services

How to pass fix variable in angular service.ts?


I have an API to get user ID, name and some further details. Now i am creating POST api to send some data and user_id. i am calling POST service in different components and passing different values but User_id is same in every component.

Service.ts

@Injectable({
  providedIn: 'root'
})

 get_user_info(){
      return this.httpClient.get(this.baseUrl + '/users/user_info', { headers: headers }); <-- getting all data
    }
  }

  send_user_preference(item) {
    console.log("Checking passed item: ",item);
    return this.httpClient.post(this.baseUrl + '/users-likes',item); <--- here i need data from resource + user_id
    console.log("-------------------------");
  }

i don't want to send user_id from parent comp to every child component as @Import user_id, as it seems redundant because user_id is same.

I want user_id direct to POST service no matter from which component the service has been called.


Solution

  • Have a user_id prop in your service, you can set it from any component or initialize it here itself as per your requirement.

    Have your post like:

    this.httpClient.post(this.baseUrl + '/users-likes', {user_id: this.user_id, ...item})