Wow so easy

This commit is contained in:
cdricms
2024-01-16 00:03:38 +01:00
commit c89ee17329
3 changed files with 48 additions and 0 deletions

27
api/api.go Normal file
View File

@@ -0,0 +1,27 @@
package api
import (
"net/http"
"encoding/json"
)
type User struct {
Username string `json:"username"`
Name string `json:"name"`
Age uint8 `json:"age"`
}
func GetUserHandler(w http.ResponseWriter, r *http.Request) {
user := User{"johnnyBoy", "John Doe", 20}
jsonBytes, err := json.Marshal(user)
if err != nil {
http.Error(w, "Interal server error", http.StatusInternalServerError)
return
}
w.Header().Set("Content-Type", "application/json")
_, _err := w.Write(jsonBytes)
if _err != nil {
http.Error(w, "Interal server error", http.StatusInternalServerError)
}
}

3
go.mod Normal file
View File

@@ -0,0 +1,3 @@
module git.cems.dev/cdricms/go-api
go 1.21.6

18
main.go Normal file
View File

@@ -0,0 +1,18 @@
package main
import (
"fmt"
"net/http"
"git.cems.dev/cdricms/go-api/api"
)
func main() {
http.HandleFunc("/user", api.GetUserHandler)
port := 8080
fmt.Printf("Server running on : %d\n", port)
err := http.ListenAndServe(fmt.Sprintf(":%d", port), nil)
if err != nil {
fmt.Println("Error: ", err)
}
}