// GET an Object by its ID
func FindObjectEndpoint(w http.ResponseWriter, r *http.Request) {
params := mux.Vars(r)
numObject, err := dao.FindById(params["id"])
if err != nil {
log.Printf("FindObjectEndpoint err: %s", err.Error())
respondWithError(w, http.StatusBadRequest, "Invalid Object ID")
return
}
respondWithJson(w, http.StatusOK, numObject)
}
// Find Object by ID
func (m *NumObjectDAO) FindById(id string) (numObject Numobject, err error) {
log.Printf("call db.findbyId\n")
defer func() {
log.Printf("Enter defer err: %s numObject: %v\n", err, numObject)
if r := recover(); r != nil {
log.Println("Recovered from panic value: ", r)
err = errors.New("Unkown ID ")
}
log.Printf("Quit defer err: %s numObject: %v\n", err, numObject)
}()
err = db.C(COLLECTION).FindId(bson.ObjectIdHex(id)).One(&numObject)
log.Printf("return db.findbyId\n")
return numObject, err
}