title: Angular 6 cannot compile with error in service
body: <p>I am new ti Angular 6 but it's starting to make a lot more sense the more I use it.</p>
  
  <p>I have a problem with my service that connects to a database</p>
  
  <p>Here is the error message I get in Angular CLI when trying to <code>ng serve</code></p>
  
  <blockquote>
    <p>ERROR in src/app/services/site.service.ts(29,5): error TS2322: Type
    'Observable' is not assignable to type 'Observable'.<br>
    Type 'ISite' is not assignable to type 'ISite[]'.
        Property 'includes' is missing in type 'ISite'.</p>
  </blockquote>
  
  <p>This is my interface</p>
  
  <pre><code>export interface ISite {
    id: string,
    siteName: string,
    developer: string,
    siteAddress: string,
    siteAddress2: string,
    siteCity: string,
    siteCounty: string,
    sitePostcode: string,
  }
  </code></pre>
  
  <p>This is my service.</p>
  
  <pre><code>import { Injectable } from '@angular/core';
  import { HttpClient, HttpErrorResponse } from '@angular/common/http';
  import { ISite } from './../interfaces/site';
  import { throwError as observableThrowError, Observable } from 'rxjs'
  import { catchError } from 'rxjs/operators'﻿
  
  @Injectable({
    providedIn: 'root'
  })
  export class SiteService {
  
    private _url: string = "http://localhost/lumen/public/sites";
  
    constructor(private http: HttpClient) { }
  
    getSites(): Observable&lt;ISite[]&gt; {
      return this.http.get&lt;ISite[]&gt;(this._url)
                 .pipe(catchError(this.errorHandler));
    }
  
    getSite(id: string): Observable&lt;ISite&gt; {
      let url = `${this._url}/${id}`;
      return this.http.get&lt;ISite&gt;(url)
                 .pipe(catchError(this.errorHandler));
    }
  
    getDeveloperSites(id: string): Observable&lt;ISite[]&gt; {
      let url = `${this._url}/developer/${id}`;
      return this.http.get&lt;ISite&gt;(url)
             .pipe(catchError(this.errorHandler));
    }
  
    errorHandler(error: HttpErrorResponse) {
      return observableThrowError(error.message || "Server Error");
    }
  }
  </code></pre>
  
  <p>I've checked what comes back from the database matches what the interface is expecting and they match.</p>