2017-05-19 2 views
0

Ich habe eine GAE-Anwendung in Java-Standard-Umgebung für das Back-End und eckige 4.0 für das Front-End.Routing in GAE Java-Standard-Umgebung konfigurieren

Die App funktioniert lokal gut, aber wenn ich sie verwende, erhalte ich einen Fehler 404 beim Aktualisieren oder beim Versuch, die URL der gewünschten Seite einzugeben.

Ich verstehe, dass ich ein Routing-Fallback wie in der angular documentation beschrieben definieren muss, um jede unbekannte Anfrage an meine index.html umzuleiten.

Wie ich es von vielen stackoverflow GAE Appengine Python Fragen verstehe, besteht die Lösung darin, die app.yaml Datei zu konfigurieren.

Ok, aber wie? In der App-Engine-Standardumgebung wird die app.yaml-Datei automatisch im Staging-Ordner wie folgt generiert, aber alles geschieht unter der Haube, wenn ich mit dem Google-Plugin für Eclipse arbeite und ich keinen Zugriff darauf habe.

runtime: java7 
inbound_services: 
- warmup 
derived_file_type: 
- java_precompiled 
threadsafe: True 
auto_id_policy: default 
api_version: '1.0' 
handlers: 
- url: (/.*/) 
static_files: __static__\1index.html 
upload: __NOT_USED__ 
require_matching_file: True 
login: optional 
secure: optional 
- url: (/) 
static_files: __static__\1index.html 
upload: __NOT_USED__ 
require_matching_file: True 
login: optional 
secure: optional 
- url: (/.*) 
static_files: __static__\1 
upload: __NOT_USED__ 
require_matching_file: True 
login: optional 
secure: optional 
- url: /.* 
script: unused 
login: optional 
secure: optional 

Kann mir jemand sagen, ob es eine Möglichkeit, die Datei app.yaml vor der Bereitstellung in der appengine Java-Standardumgebung zu bearbeiten. Eine ähnliche question wurde kürzlich veröffentlicht, aber es gibt keine Antwort im Moment.

+0

Das Standard-Java-env verwendet nicht 'app.yaml' finden https://cloud.google.com/appengine/docs/standard/ java/configuration-files –

+0

Hallo Dan, danke für deine Antwort. Ich kenne den Doc, ich habe es schon zehnmal gelesen, um nach meinem Problem zu suchen. Fakt ist: Bei der Bereitstellung mit dem Google Cloud for Eclipse-Plug-in wird eine app.yaml-Datei (sowie eine index.yaml-Datei) erstellt. Meine Frage ist: Wie funktioniert das eckige Routing in der GAE Java Standardumgebung? –

Antwort

0

Ich denke, Sie verwirren Winkelrouting, die auf der Seite des Browsers passiert, von der serverseitigen URL-Routing, die von einem web.xml beschrieben wird.

Meine Vermutung ist, dass Ihr web.xml fehlt eine Datei begrüßen die index.html zu laden. Zum Beispiel, hier ist ein einfaches web.xml, die den Trick tun sollen:

<?xml version="1.0" encoding="utf-8"?> 
<web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5"> 
<welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
</welcome-file-list> 
</web-app>