ホームページ > バックエンド開発 > Golang > Golang を使用して RESTful API を構築し、エラーを処理するにはどうすればよいですか?

Golang を使用して RESTful API を構築し、エラーを処理するにはどうすればよいですか?

WBOY
リリース: 2024-05-31 19:48:00
オリジナル
1012 人が閲覧しました

この記事では、必要なパッケージのインポート、ルーターの作成、ハンドラーの定義、ルートの登録、サーバーの起動など、Golang を使用して RESTful API を構築する手順を示します。さらに、エラー メッセージや正しい HTTP ステータス コードを返すなど、エラー状態を処理するための手順も提供されています。

如何使用 Golang 构建 RESTful API 并处理错误?

Golang を使用して RESTful API を構築し、エラーを処理する

Golang での RESTful API の構築は、シンプルかつ効率的です。この記事では、API を作成して一般的なエラー シナリオを処理する方法を段階的に説明します。

1. 必要なパッケージをインポート

import (
    "encoding/json"
    "fmt"
    "log"
    "net/http"

    "github.com/gorilla/mux"
)
ログイン後にコピー

2. ルーターを作成

r := mux.NewRouter()
ログイン後にコピー

4. ルートを登録

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"})
}
ログイン後にコピー

5. 保存および取得するための簡単な API を作成しますユーザーデータ:

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)
    }
}
ログイン後にコピー

以上がGolang を使用して RESTful API を構築し、エラーを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート