-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.go
68 lines (53 loc) · 1.34 KB
/
server.go
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
package main
import (
"log"
"net/http"
"github.com/gin-gonic/gin"
)
func handleHomeRoute(c *gin.Context) {
c.String(http.StatusOK, "Welcome to the Home Route")
}
type Response struct {
Message string `json:"message"`
Items []int `json:"items"`
}
type RequestData struct {
Name string `json:"name"`
LastName string `json:"last_name"`
}
func sendData(c *gin.Context) {
response := Response{
Message: "HELLO FROM BACKEND",
Items: []int{1, 2, 3},
}
c.JSON(http.StatusOK, response)
}
func submitData(c *gin.Context) {
if c.Request.Method == "POST" {
var data RequestData
if err := c.ShouldBindJSON(&data); err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": "Error decoding JSON"})
return
}
if data.Name == "" || data.LastName == "" {
log.Println("Name or LastName is missing")
c.JSON(http.StatusBadRequest, gin.H{"error": "Name or LastName is missing"})
return
}
log.Println("Data Received:", data)
log.Println("Name:", data.Name)
log.Println("LastName:", data.LastName)
c.JSON(http.StatusOK, gin.H{"message": "Data successfully received"})
}
}
func main() {
// Initialize Gin router
r := gin.Default()
// Define routes
r.GET("/", handleHomeRoute)
r.GET("/data", sendData)
r.POST("/submit-data", submitData)
// Start the server
log.Println("Starting Go server on :8080...")
r.Run(":8080")
}