Angular 2 HTTP GET 404 introuvable pour l'URL

Je suis en train d'intégrer Angulaire 2 application avec Java Spring Boot backend. Pour le moment, je place mon Angulaire 2 fichiers sous src/main/resources/static (ce qui signifie à la fois Anguleux et le Printemps applications s'exécutent witin la même application sur le même port).

Je suis en train de faire HTTP GET comme ceci:

import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import { Language } from '../model/language';
import { Observable } from 'rxjs/Rx';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/map';

@Injectable()
export class LanguageService {

    constructor(private http: Http) { }

    private langUrl = 'api/languages'; 

    getLanguages() : Observable<Language[]> {
         return this.http.get(this.langUrl)
                         .map((res:Response) => res.json())
     }
}

J'ai volontairement supprimé code de gestion d'erreur à partir de l'obtenir, parce qu'elle conduit à l'erreur trompeur.
Ce que je reçois est:

Error: Uncaught (in promise): Error: Error in :0:0 caused by: Response with status: 404 Not Found for URL: api/languages
Error: Error in :0:0 caused by: Response with status: 404 Not Found for URL: api/languages
    at ViewWrappedError.BaseError [as constructor] (http://localhost:8000/node_modules/@angular/core/bundles/core.umd.js:1179:31) [angular]
    at ViewWrappedError.WrappedError [as constructor] (http://localhost:8000/node_modules/@angular/core/bundles/core.umd.js:1232:20) [angular]
    at new ViewWrappedError (http://localhost:8000/node_modules/@angular/core/bundles/core.umd.js:6552:20) [angular]
//more output here - will provide full stack trace if needed

L'URL http://localhost:8080/api/languages est gérée par Java Spring contrôleur et il fonctionne si je ne REÇOIS via Postier ou un Navigateur Web.

Mon impression est que l'Erreur 404 n'est pas venu depuis un serveur, parce que:

  • Je ne vois pas d'activité dans les logs du serveur
  • J'obtiens le même résultat, peu importe si le serveur vers le haut ou vers le bas.

Je pense qu'il ya quelque chose de mal avec mon Angulaire 2 configuration, mais je ne trouve pas du tout dans les conseils de la documentation.

J'ai essayé différentes url, comme http://localhost:8080/api/languages/api/languagesapi/languagesanother/working/server/endpoint - conduisent toutes à la même erreur.

J'ai même essayé d'utiliser JSONP comme décrit icimais j'ai une autre question que JSONP n'a pas été injecté à la Langue de Service du constructeur (cette question est un sujet différent, je suppose).

J'ai trouvé un question similairemais il n'a jamais été répondu à ce jour.

Si vous avez des idées sur la façon de résoudre ce problème ou expérimenté le même problème - de l'aide ou commentaire sera fortement appréciée.

Merci

source d'informationauteur mp_loki