이 기사에서는 필요한 패키지 가져오기, 라우터 생성, 핸들러 정의, 경로 등록 및 서버 시작을 포함하여 Golang을 사용하여 RESTful API를 구축하는 단계를 보여줍니다. 또한 오류 메시지 반환 및 올바른 HTTP 상태 코드와 같은 오류 조건 처리에 대한 지침이 제공됩니다.
Golang에서 RESTful API 구축은 간단하고 효율적입니다. 이 문서에서는 API를 생성하고 일반적인 오류 시나리오를 처리하는 방법을 단계별로 설명합니다.
import ( "encoding/json" "fmt" "log" "net/http" "github.com/gorilla/mux" )
r := mux.NewRouter()
func indexHandler(w http.ResponseWriter, r *http.Request) { fmt.Fprint(w, "Hello, World!") } func postHandler(w http.ResponseWriter, r *http.Request) { var data map[string]interface{} if err := json.NewDecoder(r.Body).Decode(&data); err != nil { http.Error(w, "Invalid JSON", http.StatusBadRequest) return } log.Printf("Received data: %v", data) json.NewEncoder(w).Encode(map[string]interface{}{"status": "success"}) }
r.HandleFunc("/", indexHandler).Methods("GET") r.HandleFunc("/post", postHandler).Methods("POST")
http.ListenAndServe(":8080", r)
이제
또는 기타 도구를 사용하여 API를 쉽게 테스트할 수 있습니다:type User struct { Name string `json:"name"` Email string `json:"email"` } func userHandler(w http.ResponseWriter, r *http.Request) { switch r.Method { case "GET": json.NewEncoder(w).Encode([]User{{Name: "John", Email: "john@example.com"}}) case "POST": var user User if err := json.NewDecoder(r.Body).Decode(&user); err != nil { http.Error(w, "Invalid JSON", http.StatusBadRequest) return } fmt.Fprint(w, "User created:", user) default: http.Error(w, "Method not allowed", http.StatusMethodNotAllowed) } }
위 내용은 RESTful API를 구축하고 Golang을 사용하여 오류를 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!