func GetProject(wr http.ResponseWriter, req *http.Request) { var ( encoder *json.Encoder proj *data.Project err error ) encoder = json.NewEncoder(wr) proj = data.NewProject() params := mux.Vars(req) log.Println(params) log.Println(req.URL.String()) id, err := strconv.ParseInt(params["id"], 10, 64) if err != nil { wr.WriteHeader(http.StatusBadRequest) encoder.Encode(NewErrorJSONBadRequest()) return } proj, err = proj.FindById(id) if _, ok := err.(*data.NoResult); ok { wr.WriteHeader(http.StatusNotFound) encoder.Encode(NewErrorJSONNotFound()) return } if nil != err { wr.WriteHeader(http.StatusInternalServerError) log.Println("faild to get profile " + err.Error()) return } encoder.Encode(proj) }