2017-10-23 2 views
0

I Spring Boot App kombiniert mit Angular 4. Ich habe einige Routen erstellt, aber wenn ich in url einige Zeichenfolge wie localhost:8080/items eingeben, erhalte ich Fehler 404 not found. Deshalb habe ich forwarding erstellt, als es erkannt hat, ob es die url wie localhost:8080/items aussieht, leitet es an index.html weiter. Aber was ist mit einem Fall, wenn ich mehrere mögliche urls eingegeben habe und ich nicht immer wieder umschreiben will ...?Create generische Methode zum Weiterleiten an index.html Requests, die 404 wirft

@RequestMapping(value = "/api/user", method = RequestMethod.POST) 
@RequestMapping(value = "/api/user", method = RequestMethod.GET) 
@RequestMapping(value = "/api/item", method = RequestMethod.GET) 
@RequestMapping(value = "/api/item", method = RequestMethod.POST) 
. 
. 
. 
and so on 

Ich wollte etwas generisch wie erstellen:

@Controller 
public class ViewController { 

    @RequestMapping({ "/**" }) 
    public String index() { 
     return "forward:/index.html"; 
    } 
} 

aber es hat nicht funktioniert. Oder gibt es einen anderen Weg, es zum Laufen zu bringen?

Antwort

0

Die richtige Korrektur dieser Fall ist:

In app.module hinzufügen

{ path: '**', component: ItemListComponent} 

was anzeigte, was Sie tun sollten, wenn etwas schief geht, und fügen Sie eine bestimmte java controller:

@Controller 
public class ViewController { 

    @RequestMapping(value = "{path:[^\\.]*}") 
    public String index() { 
     return "forward:/index.html"; 
    } 
} 
Verwandte Themen