You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

62 lines
971 B

package main
import (
"encoding/json"
"fmt"
"net/http"
"github.com/gorilla/mux"
)
type Routes []Route
var routes = Routes{
Route{
"Index",
"GET",
"/",
Index,
},
Route{
"Recommendations",
"GET",
"/r/{userid}/{nrec}",
Recommendations,
},
Route{
"NewUser",
"POST",
"/user",
NewUser,
},
}
//ROUTES
func Index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintln(w, "ask for recommendations in /r")
}
func NewUser(w http.ResponseWriter, r *http.Request) {
decoder := json.NewDecoder(r.Body)
var newUser UserModel
err := decoder.Decode(&newUser)
check(err)
defer r.Body.Close()
saveUser(userCollection, newUser)
fmt.Println(newUser)
fmt.Fprintln(w, "new user added: ", newUser.ID)
}
func Recommendations(w http.ResponseWriter, r *http.Request) {
vars := mux.Vars(r)
userid := vars["userid"]
nrec := vars["nrec"]
fmt.Println(userid)
fmt.Println(nrec)
//now, get recommendations
fmt.Fprintln(w, "recommendations")
}