我使用此tutorial来使用GoLang,Angular2和Dart创建Web应用程序,但是当我通过控制台命令“backend”启动后端并在浏览器中路由到“localhost: 8080 /“它必须从Dart的类”Hello“调用方法,但它不会调用,并且我得到404错误。我从教程中获得的所有代码并没有改变任何内容。我找不到任何其他教程。你能解释我有什么问题吗?无法使用dart和angular2客户端运行GolLang后端
GoLang代码:
func main() {
http.Handle("/", http.FileServer(http.Dir("./app/web/")))
fmt.Println("Text")
http.HandleFunc("/api/hello", helloWorld)
http.ListenAndServe(":8080", nil)
}
func helloWorld(w http.ResponseWriter, r *http.Request) {
data := struct {
Message string
}{
"Hello, World",
}
if err := json.NewEncoder(w).Encode(data); err != nil {
log.Println(err)
}
}
和角镖代码:
class AppComponent {
Hello hello = new Hello();
}
class Hello{
String message;
Hello(){
HttpRequest.getString('/api/hello')
.then((String content) {
Map parsedMap = JSON.decode(content);
message = parsedMap["Message"];
})
.catchError((Error error) {
print(error.toString());
});
}
}
什么是 “应用程序”,“应用程序没有按”连续等到飞镖一侧“?为什么“应用程序”会连接到“Dart side”?如果在客户端(使用Angular)上使用Dart,则客户端必须连接到服务器而不是其他方式。 –
@GünterZöchbauer当我进入浏览器本地主机:8080 /它必须调用“Hello”处理程序,它描述在web/main.dart但它不这样做,只是重定向到404 – EgorkZe
@GünterZöchbauer是正确的。 尝试本地化问题。首先检查 - 服务器端是否正在响应HTTP请求(从bwoser输入URL到地址栏,而不是来自Dart)。如果它起作用,则需要提供有关如何调用服务器的信息以及错误日志。 http:// localhost:8080/api/hello是否有效? –