Ich spiele mit dem Projekt appengine-rest-server um die REST-Webservices für alle vorhandenen Modelle zu erstellen. Ich habe einen merkwürdigen Fehler, wenn ich zum ersten Mal den Browser abfrage: http://localhost:8080/rest/metadata/user, erscheint das Ergebnis:
Aber beim Aktualisieren der Seite erhalte ich diesen Fehler:
Traceback (most recent call last):
File "/Users/foo/Documents/AppEngine/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver.py", line 3185, in _HandleRequest
self._Dispatch(dispatcher, self.rfile, outfile, env_dict)
File "/Users/foo/Documents/AppEngine/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver.py", line 3128, in _Dispatch
base_env_dict=env_dict)
File "/Users/foo/Documents/AppEngine/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver.py", line 515, in Dispatch
base_env_dict=base_env_dict)
File "/Users/foo/Documents/AppEngine/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver.py", line 2387, in Dispatch
self._module_dict)
File "/Users/foo/Documents/AppEngine/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver.py", line 2297, in ExecuteCGI
reset_modules = exec_script(handler_path, cgi_path, hook)
File "/Users/foo/Documents/AppEngine/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver.py", line 2195, in ExecuteOrImportScript
script_module.main()
File "/Users/foo/Documents/AppEngine/helloworld/main.py", line 48, in main
rest.Dispatcher.add_models({"user": UserModel})
File "/Users/foo/Documents/AppEngine/helloworld/rest/__init__.py", line 845, in add_models
cls.add_model(model_name, model_type)
File "/Users/foo/Documents/AppEngine/helloworld/rest/__init__.py", line 863, in add_model
raise KeyError("name %s already used" % model_name)
KeyError: 'name user already used'
Kann mir jemand erklären, warum das passiert? Wenn ich den Server neu starte und den Browser erneut aufrufe, erhalte ich das XML-Ergebnis, aber beim Aktualisieren tritt der Fehler auf. Handelt es sich um einen Fehler in der appengine-rest-server Anwendung oder liegt es an meinem Code? Meine helloworld Anwendung ist hier zum Download verfügbar: hier.