Files
interview-backend/go-stdlib/main.go
2025-07-16 14:27:46 +08:00

56 lines
1.0 KiB
Go

package main
import (
"encoding/json"
"fmt"
"io"
"net/http"
)
type Transfer struct {
Amount int `json:"amount"`
Sender int `json:"sender"`
Receiver int `json:"receiver"`
}
type Account struct {
Amount int `json:"amount"`
}
var accounts = map[int]Account{
1: {Amount: 1000},
2: {Amount: 1000},
}
var transactions = []Transfer{}
func main() {
fmt.Println("Starting server on port 8080")
http.HandleFunc("/transfer", transfer)
err := http.ListenAndServe(":8081", nil)
if err != nil {
fmt.Println("Error starting server:", err)
}
}
func transfer(w http.ResponseWriter, r *http.Request) {
body, err := io.ReadAll(r.Body)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
var transfer Transfer
err = json.Unmarshal(body, &transfer)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
fmt.Println("Transfer received:", transfer)
// IMPLEMENTATION
w.WriteHeader(1000)
w.Write([]byte("Transfer successful"))
}