Как можно прервать обслуживание моего 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
, что является моим сообщением об ошибке.
Я читал что-то о панике, отложении, восстановлении, но на самом деле не знаю, как использовать их для решения этой проблемы.
return
работает:
mobile :=query.Get("mobile")
if mobile=="mobile" {
str:=`{"Resultt":"","Error":"No valide Var"}`
fmt.Fprint(w, str)
fmt.Println("No successfull Operation!!")
return}
Но я могу использовать его только в основной функции, потому что в других функциях он выходит только из функции, а не из функции вызывающего абонента (запроса).