title: Argument of type '{header:Header;}' is not assignable to parameter of type 'RequestOptionsArgs'
body: <p>Im Getting following error while trying to pass header in HTTP.POST/GET request <code>Argument of type '{header:Header;}' is not assignable to parameter of type 'RequestOptionsArgs'. Property 'null' is missing in the type  '{header:Header;}'</code></p>
  
  <p>I have try many solutions but no lock on it.</p>
  
  <p>here my code : </p>
  
  <pre><code>import { Injectable } from '@angular/core';
  import { Response, RequestOptions, Headers, Http, URLSearchParams} from '@angular/http';
  import { Observable, Subject } from 'rxjs/Rx';  
  import {Company} from './companyMaster';
  import 'rxjs/add/operator/map';
  import "rxjs/Rx";
  import 'rxjs/add/operator/toPromise';
  import {CommonService} from '../../common.service';
  @Injectable()
  export class CompanyMasterService {
  private GetListActionUrl: string;
  private AddEditActionUrl: string;
  public headers = new Headers({ 'Content-Type': 'application/json' });
  public options = new RequestOptions({ headers: this.headers });
  commonService: CommonService;
  constructor(private _http: Http) {
      this.commonService = new CommonService();
      this.GetListActionUrl = this.commonService.RootURL + 'Company/GetList';
      this.AddEditActionUrl = this.commonService.RootURL + "Company/AddEdit";
  }
  
  private RegenerateData = new Subject&lt;number&gt;();
  // Observable string streams
  RegenerateData$ = this.RegenerateData.asObservable();
  
  GetList(): Promise&lt;Company[]&gt; {
      return this._http.get(this.GetListActionUrl + "?branchId=" + this.commonService.BranchId)
          .toPromise()
          .then(response =&gt; this.extractArray(response))
          .catch();
  }
  
  AddEdit(company: Company): any {
      let headers = new Headers({ 'content-type': 'application/json' });
      let body = JSON.stringify({
          'BRANCH_ID': company.BRANCH_ID.toString(),
          'COMPANY_ID': company.COMPANY_ID != null ? company.COMPANY_ID.toString() : null, 'COMPANY_NAME': company.COMPANY_NAME
      });
      let options = new RequestOptions({ headers: headers});
  
     return this._http.post(this.AddEditActionUrl, body, options)
          .toPromise()
          .then(response =&gt; this.extractArray(response))
          .catch();
  }
  
  protected extractArray(res: Response, showprogress: boolean = true) {
      let data = res.json();
  
      return data || [];
  }
  
  private getHeaders() {
      // I included these headers because otherwise FireFox
      // will request text/html instead of application/json
      let headers = new Headers();
      headers.append('Accept', 'application/json');
      return headers;
  }
  </code></pre>
  
  <p>}</p>
  
  <p>See above code I have passed header in method AddEdit() but it shows above error i have try many solution like :</p>
  
  <ul>
  <li>Update Package</li>
  <li>Imported @angular/http</li>
  <li>Tried different way to pass header
  <a href="https://stackoverflow.com/questions/34464108/angular2-set-headers-for-every-request">Tried this solution</a></li>
  </ul>
  
  <p>i have attached screenshot showing error in Visual studio IDE. See attachement<a href="https://i.stack.imgur.com/A97IK.png" rel="nofollow noreferrer"> error screenshot</a>
  please reply as soon as possible.</p>
  
  <p>package.json</p>
  
  <pre><code>{
    "name": "sb-admin-angular4-bootstrap4",
    "version": "1.0.0",
    "license": "MIT",
    "scripts": {
      "ng": "ng",
      "start": "ng serve --ec=true",
      "build": "ng build --prod",
      "gitbuild": "ng build --prod --base='/start-angular/SB-Admin-BS4-Angular-4/master/dist/'",
      "test": "ng test",
      "lint": "ng lint",
      "e2e": "ng e2e"
    },
    "private": true,
    "dependencies": {
      "@angular/common": "^4.0.0",
      "@angular/compiler": "^4.0.0",
      "@angular/core": "^4.0.0",
      "@angular/forms": "^4.0.0",
      "@angular/http": "^4.0.0",
      "@angular/platform-browser": "^4.0.0",
      "@angular/platform-browser-dynamic": "^4.0.0",
      "@angular/router": "^4.0.0",
      "@ng-bootstrap/ng-bootstrap": "^1.0.0-alpha.25",
      "@ngx-translate/core": "^6.0.1",
      "@ngx-translate/http-loader": "0.0.3",
      "core-js": "^2.4.1",
      "font-awesome": "^4.7.0",
      "ionicons": "^3.0.0",
      "ng2-charts": "^1.5.0",
      "rxjs": "^5.1.0",
      "typing": "^0.1.9",
      "zone.js": "^0.8.4"
    },
    "devDependencies": {
      "@angular/cli": "^1.1.3",
      "@angular/compiler-cli": "^4.0.0",
      "@types/jasmine": "2.5.38",
      "@types/node": "~6.0.60",
      "codelyzer": "~2.0.0",
      "jasmine-core": "~2.5.2",
      "jasmine-spec-reporter": "~3.2.0",
      "karma": "~1.4.1",
      "karma-chrome-launcher": "~2.0.0",
      "karma-cli": "~1.0.1",
      "karma-coverage-istanbul-reporter": "^0.2.0",
      "karma-jasmine": "~1.1.0",
      "karma-jasmine-html-reporter": "^0.2.2",
      "karma-phantomjs-launcher": "^1.0.4",
      "protractor": "~5.1.0",
      "ts-node": "~2.0.0",
      "tslint": "~4.5.0",
      "typescript": "~2.2.0",
      "webpack": "^3.0.0"
    }
  }
  </code></pre>