【发布时间】:2026-01-05 09:20:08
【问题描述】:
有什么方法可以中止我的 API 服务并显示一些错误消息?
调用我的服务的链接:
http://creative.test.spoti.io/api/getVastPlayer?add=
{"Json":Json}&host=api0.spoti.io&domain=domain&userAgent=userAgent&mobile=true
要调用我的服务,客户端需要发送一个 Json 和一些参数。
我想测试我得到的参数是否正确,如果不正确,我想发送错误消息。
响应应该是Json代码{"Result":"Result","Error":"error message"}
我试过log.fatal 和os.Exit(1) 他们停止服务,而不仅仅是呼叫请求。 panic 中止呼叫,但它阻止我发送 http.ResponseWriter 这是我的错误消息。
我读过一些关于panic, defer, recovery的文章,但我真的不知道如何使用它们来解决这个问题。
return 工作:
mobile :=query.Get("mobile")
if mobile=="mobile" {
str:=`{"Resultt":"","Error":"No valide Var"}`
fmt.Fprint(w, str)
fmt.Println("No successfull Operation!!")
return}
但我可以只在主函数中使用它,因为在其他函数中它只退出 func 而不是调用者函数(请求)。
【问题讨论】:
标签: http go error-handling exit abort