Learn MARTINI with Real Code Examples
Updated Nov 27, 2025
Code Sample Descriptions
1
Martini Simple REST API
package main
import (
"github.com/go-martini/martini"
"net/http"
"encoding/json"
)
type Todo struct {
ID int `json:"id"`
Title string `json:"title"`
Completed bool `json:"completed"`
}
var todos []Todo
func main() {
m := martini.Classic()
m.Get("/todos", func(res http.ResponseWriter) {
json.NewEncoder(res).Encode(todos)
})
m.Post("/todos", func(req *http.Request, res http.ResponseWriter) {
var todo Todo
json.NewDecoder(req.Body).Decode(&todo)
todos = append(todos, todo)
res.WriteHeader(http.StatusCreated)
json.NewEncoder(res).Encode(todo)
})
m.Run()
}
Demonstrates a simple Martini application with routes for listing and creating Todo items.