Skip to content

Instantly share code, notes, and snippets.

@swanandvk
Created March 9, 2018 09:05
Show Gist options
  • Select an option

  • Save swanandvk/aa2cb52c56ed76f8f4d8f4f045ccf94d to your computer and use it in GitHub Desktop.

Select an option

Save swanandvk/aa2cb52c56ed76f8f4d8f4f045ccf94d to your computer and use it in GitHub Desktop.

Revisions

  1. swanandvk created this gist Mar 9, 2018.
    44 changes: 44 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,44 @@
    // array of users
    var users []User

    func GetUserById(w http.ResponseWriter,req *http.Request){

    params:=mux.Vars(req)
    for _,item := range users{

    if item.ID==params["id"]{
    json.NewEncoder(w).Encode(item)
    return
    }
    }
    // if not found return empty object with User structure
    json.NewEncoder(w).Encode(&User{})
    }


    func CreateUser(w http.ResponseWriter,req *http.Request){
    params :=mux.Vars(req)
    var user User
    _= json.NewDecoder(req.Body).Decode(&user)
    user.ID=params["id"]
    users=append(users,user)

    json.NewEncoder(w).Encode(users)

    }

    func GetUsers(w http.ResponseWriter,req *http.Request){
    json.NewEncoder(w).Encode(users)
    }

    func DeleteUser(w http.ResponseWriter,req *http.Request){

    params := mux.Vars(req)
    for index,item :=range users{
    if item.ID==params["id"]{
    users =append(users[:index],users[index+1:]...)
    break
    }
    }
    json.NewEncoder(w).Encode(users)
    }