Esempio n. 1
0
// PostUser -
func PostUser(w http.ResponseWriter, r *http.Request) {
	var user models.User

	decoder := json.NewDecoder(r.Body)
	err := decoder.Decode(&user)

	if err != nil {
		BadRequest(err, w, r)
		return
	}

	if err := user.Valid(); err != nil {
		UnprocessableEntity(err, w, r)
		return
	}

	if err := user.Save(); err != nil {
		InternalServerError(err, w, r)
		return
	}

	w.Header().Set("Content-Type", "application/json; charset=UTF-8")
	w.WriteHeader(http.StatusCreated)

	if err := json.NewEncoder(w).Encode(user); err != nil {
		InternalServerError(err, w, r)
		return
	}
}