के लिए नहीं मिला मैं जावा स्प्रिंग बूट बैकएंड के साथ कोणीय 2 अनुप्रयोग को एकीकृत करने की कोशिश कर रहा हूं। फिलहाल, मैं अपने कोणीय 2 फाइलों को src/main/resources/static
के तहत रखता हूं (जिसका मतलब है कि कोणीय और स्प्रिंग ऐप्स दोनों एक ही पोर्ट पर एक ही ऐप को बुद्धिमान करते हैं)।कोणीय 2 HTTP प्राप्त करें 404 यूआरएल
मैं इस तरह HTTP GET करने के लिए कोशिश कर रहा हूँ:
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())
}
}
मैं जानबूझकर पाने से कोड से निपटने त्रुटि को हटा दिया है, क्योंकि यह त्रुटि को गुमराह करने के लिए ले जाता है। क्या मैं मिलता है:
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
यूआरएल http://localhost:8080/api/languages
जावा स्प्रिंग नियंत्रक द्वारा नियंत्रित किया जाता है और यह काम करता है अगर मैं डाकिया या वेब ब्राउज़र के माध्यम से मिलता है।
- मैं सर्वर लॉग
- मैं परवाह किए बिना ही परिणाम मिल में किसी भी गतिविधि नहीं दिख रहा है, तो सर्वर साइड ऊपर या है:
मेरे धारणा है कि 404 त्रुटि सर्वर से नहीं आया था, क्योंकि है नीचे।
मुझे लगता है कि मेरे कोणीय 2 कॉन्फ़िगरेशन में कुछ गड़बड़ है, लेकिन मुझे दस्तावेज़ में कोई सुझाव नहीं मिला है।
मैं अलग यूआरएल की कोशिश की, http://localhost:8080/api/languages
, /api/languages
, api/languages
, another/working/server/endpoint
की तरह - एक ही त्रुटि के लिए नेतृत्व।
मैंने JSONP का उपयोग करने के लिए भी here वर्णित करने का प्रयास किया है, लेकिन मुझे एक अलग मुद्दा मिला है कि जेएसओएनपी भाषा सेवा कन्स्ट्रक्टर को इंजेक्शन नहीं दिया गया था (यह मुद्दा एक अलग विषय है, मुझे लगता है)।
मुझे similar question मिला है, लेकिन अब तक इसका उत्तर कभी नहीं दिया गया था।
यदि आपके पास कोई समस्या है कि इस समस्या को कैसे ठीक किया जाए या इसी तरह की समस्या का सामना कैसे किया जाए - किसी भी मदद या टिप्पणी की अत्यधिक सराहना की जाएगी।
आप
बस यह जोड़ने के लिए कि आप उन यूआरएल से गुजरने के लिए मेमोरी वेब एपीआई में कॉन्फ़िगर कर सकते हैं जिन्हें आप संसाधित नहीं करना चाहते हैं, इसलिए इसे पूरी तरह से हटाने की आवश्यकता नहीं है - यह देखें [उत्तर] (http://stackoverflow.com/questions/41076251/कैसे-i-can-bypass-angular-in-memory-web-api-for-a-specific-url? Answertab = सक्रिय # टैब-टॉप) – djboardman
@djboardman, मैं सहमत हूं, अच्छा बिंदु! विकास में उपयोगी हो सकता है जब सभी एपीआई तैयार नहीं होते हैं। –
इसके लिए धन्यवाद! इस उम्र के लिए हम धन्यवाद! –
cBlaine