GoonGAEでカスタムユーザーモデル/認証コードを開発しようとしています。次のコードは、デモ/ゲストブックアプリケーションの一部のコードを簡単に変更したものです。
q := datastore.NewQuery("User").Filter("Email =", email)
users := make([]User, 0, 1)
if _, err := q.GetAll(c, &users); err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
メールがフォームから取得される場所。指定された電子メールでユーザーをデータストアに照会するだけです。電子メールを持っているユーザーが存在する場合は正常に機能し、存在しない場合は「内部サーバーエラー」ページで終了します。if error
私が理解していないこと(Goでのエラー処理、またはデータストアクエリについて推測します)は、そのブロック内で他に何もできない理由です。このようなわずかなmod:
if _, err := q.GetAll(c, &users); err != nil {
fmt.Fprintf(w, "%s\n", "user not found")
}
「usernotfound」を出力するだけでなく、同じ「InternalServerError」ページを生成します。
ありがとう!