Reviewed-on: phoenix/textsender-api#2 Co-authored-by: phoenix <kundeng00@pm.me> Co-committed-by: phoenix <kundeng00@pm.me>
41 lines
866 B
Go
41 lines
866 B
Go
package main
|
|
|
|
import "encoding/json"
|
|
import "fmt"
|
|
import "log"
|
|
import "net/http"
|
|
|
|
type MessageItem struct {
|
|
Id int `json:"id"`
|
|
Message string `json:"message"`
|
|
}
|
|
|
|
const PORT = 8080
|
|
|
|
func main() {
|
|
fmt.Println("textsender-api")
|
|
|
|
http.HandleFunc("/api/v1/message/draft", draftMessageHandler)
|
|
|
|
log.Println("Starting server", PORT)
|
|
log.Fatal(http.ListenAndServe(":8080", nil))
|
|
}
|
|
|
|
func draftMessageHandler(w http.ResponseWriter, r *http.Request) {
|
|
da := MessageItem{
|
|
Id: 1,
|
|
Message: "The Word",
|
|
}
|
|
|
|
respondWithJSON(w, http.StatusOK, da)
|
|
}
|
|
|
|
// Helper function to send JSON responses
|
|
func respondWithJSON(w http.ResponseWriter, statusCode int, data interface{}) {
|
|
w.Header().Set("Content-Type", "application/json")
|
|
w.WriteHeader(statusCode)
|
|
if err := json.NewEncoder(w).Encode(data); err != nil {
|
|
log.Printf("Error encoding JSON: %v", err)
|
|
}
|
|
}
|