Printf在golang的http处理程序中不工作
我正在尝试使用编写一个web服务器,并且我已经在handler/users中编写了自己的处理程序,它在上的post请求中被调用 localhost/app/signup。我试图将json数据打印到终端,但fmt.Printf()不打印任何内容。档案如下: 在处理程序/用户中 总的来说,去吧Printf在golang的http处理程序中不工作,go,Go,我正在尝试使用编写一个web服务器,并且我已经在handler/users中编写了自己的处理程序,它在上的post请求中被调用 localhost/app/signup。我试图将json数据打印到终端,但fmt.Printf()不打印任何内容。档案如下: 在处理程序/用户中 总的来说,去吧 我做错了什么?我刚刚测试了您的代码,我看到控制台上打印了以下内容: In AppPostSignup 我的猜测是,您试图使用GET请求测试您的/app/signup端点,而您只将其标记为POST请求 如果您
我做错了什么?我刚刚测试了您的代码,我看到控制台上打印了以下内容:
In AppPostSignup
我的猜测是,您试图使用GET请求测试您的/app/signup
端点,而您只将其标记为POST请求
如果您确实希望它是一个POST请求,那么您可以使用curl测试它,如下所示:
curl -X POST localhost:8888/app/signup
请注意,该请求缺少有效的正文,但您将能够看到打印的消息。我刚刚测试了您的代码,并在控制台上看到以下内容:
In AppPostSignup
我的猜测是,您试图使用GET请求测试您的/app/signup
端点,而您只将其标记为POST请求
如果您确实希望它是一个POST请求,那么您可以使用curl测试它,如下所示:
curl -X POST localhost:8888/app/signup
请注意,该请求缺少有效的正文,但您将能够看到打印的消息。什么是“fmt.Printf()不打印任何内容”?我很抱歉,但我刚刚发现我有一个不同的问题。当我在handlers/users.go或handlers/go中的任何文件中进行更改时,这些更改在我运行main.go($>go run main.go)时不会反映出来。[例如,我刚刚删除了一个括号并打开了一个函数,'go run main.go'没有显示任何错误。]这就是为什么我添加了一个print语句,它没有打印任何内容。知道发生了什么吗?非常感谢您的帮助。通常不要使用
go-run
。使用go build
,然后运行生成的二进制文件go run
通常不遵循最令人惊讶的原则。要么编辑错误的文件,要么请求根本没有触发Printf()
(例如,由于使用了http方法)。我想,go run
和go build
在这种情况下没有什么区别。你说的“fmt.Printf()什么都不打印”是什么意思?我很抱歉大家,但我刚刚发现我有一个不同的问题。当我在handlers/users.go或handlers/go中的任何文件中进行更改时,这些更改在我运行main.go($>go run main.go)时不会反映出来。[例如,我刚刚删除了一个括号并打开了一个函数,'go run main.go'没有显示任何错误。]这就是为什么我添加了一个print语句,它没有打印任何内容。知道发生了什么吗?非常感谢您的帮助。通常不要使用go-run
。使用go build
,然后运行生成的二进制文件go run
通常不遵循最令人惊讶的原则。要么编辑错误的文件,要么请求根本没有触发Printf()
(例如,由于使用了http方法)。而且,go-run
和go-build
在这种情况下没有什么区别。