Golang+Angular+MariaDB #5 User 정보 삭제
Development/Go+Angular+MariaDB 2021. 2. 1. 21:56 |728x90
참고영상 : Como Programar uma API REST Simples em Golang Parte 5 # 22
더보기

Postman 을 통한 User 정보 삭제(DELETE 테스트) 결과 화면
main.go 수정
이전 내용에 추가 및 수정
* user 데이터 삭제(delete) 함수 추가
* 핸들러 로직 추가
package main
import (
...
)
type User struct { ... }
var users = []User{ ... }
func HttpInfo(r *http.Request) { ... }
func setJsonHeader(w http.ResponseWriter) { ... }
func main() {
fmt.Println("Api Connected Port 3000....")
r := mux.NewRouter().StrictSlash(true)
r.HandleFunc("/users", getUsers).Methods("GET")
r.HandleFunc("/users/{id}", getUser).Methods("GET")
r.HandleFunc("/users", postUser).Methods("POST")
r.HandleFunc("/users/{id}", putUser).Methods(("PUT"))
// user 정보 삭제
r.HandleFunc("/users/{id}", deleteUser).Methods(("DELETE"))
log.Fatal(http.ListenAndServe(":3000", r))
}
func getUsers(w http.ResponseWriter, r *http.Request) {
...
}
func getUser(w http.ResponseWriter, r *http.Request) {
...
}
func postUser(w http.ResponseWriter, r *http.Request) {
...
}
func putUser(w http.ResponseWriter, r *http.Request) {
...
}
// 추가 : user 정보 삭제
func deleteUser(w http.ResponseWriter, r *http.Request) {
setJsonHeader(w)
HttpInfo(r)
params := mux.Vars(r)
id, _ := strconv.Atoi(params["id"])
// id값이 일치하는 user 데이터 삭제
for index, _ := range users {
if users[index].Id == id {
users = append(users[:index], users[index+1:]...)
json.NewEncoder(w).Encode(users)
fmt.Println(users)
return
}
}
json.NewEncoder(w).Encode(&User{})
}
users = append(users[:index], users[index+1:]...)
삭제하고자 하는 user 데이터의 index값을 if문으로 체크,
user[index]의 이전 데이터 배열과 user[index]의 이후의 user 데이터 배열을 결합(append).

728x90
'Development > Go+Angular+MariaDB' 카테고리의 다른 글
Golang+Angular+MariaDB #7 Handlers CORS 세팅 (0) | 2021.02.02 |
---|---|
Golang+Angular+MariaDB #6 Response 세팅 (0) | 2021.02.01 |
Golang+Angular+MariaDB #4 User 정보 수정 (0) | 2021.02.01 |
Golang+Angular+MariaDB #3 User 정보 등록 (0) | 2021.02.01 |
Golang+Angular+MariaDB #2 특정 User 정보 가져오기 (0) | 2021.02.01 |