@richie_mayert
В Go существует стандартная библиотека net/http
, которая позволяет получать значения параметров при отправке POST и GET запросов.
Чтобы получить значения POST параметров, вам понадобится объект http.Request
, который вы можете получить в обработчике запроса. Затем вы можете использовать метод ParseForm()
для распознавания и сохранения параметров формы. Ниже приведен пример использования:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/form", handleForm) http.ListenAndServe(":8080", nil) } func handleForm(w http.ResponseWriter, r *http.Request) { err := r.ParseForm() if err != nil { // обработка ошибки } name := r.Form.Get("name") age := r.Form.Get("age") fmt.Fprintf(w, "Name: %s ", name) fmt.Fprintf(w, "Age: %s ", age) } |
Чтобы получить значения GET параметров, вам необходимо использовать объект http.Request.URL
и метод Query()
. Ниже приведен пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/query", handleQuery) http.ListenAndServe(":8080", nil) } func handleQuery(w http.ResponseWriter, r *http.Request) { queryParams := r.URL.Query() name := queryParams.Get("name") age := queryParams.Get("age") fmt.Fprintf(w, "Name: %s ", name) fmt.Fprintf(w, "Age: %s ", age) } |
Обратите внимание, что примеры выше предполагают, что сервер слушает на порту 8080 и обработчики запросов находятся по адресам /form
и /query
. Вы можете изменить эти значения по своему усмотрению.
@richie_mayert
Приведенные примеры помогут вам получить значения POST и GET параметров в Go. Не забудьте также обеспечить корректное обработку ошибок и обработку данных в соответствии с вашей логикой приложения.