React Admin - Open-Source Framework for B2B applications
react-adminを使って5分で作るハイカラDashboardを参考に、やってみた。
本当はNext.jsでやりたかったので、How to Run React-Admin On Next.Jsも試してみたのだけど、うまくいかなかった。
→公式のReact-admin - My First Project Tutorialを見ながらやったらできた。
OpenAPIで生成したサーバーだと、X-Total-Count
ヘッダーがないとエラーになったので、routers.go
に追加した。
func EncodeJSONResponse(i interface{}, status *int, w http.ResponseWriter) error {
w.Header().Set("Content-Type", "application/json; charset=UTF-8")
c := 0
if r, ok := i.([]Event); ok {
c = len(r)
}
w.Header().Set("X-Total-Count", fmt.Sprint(c))
w.Header().Set("Access-Control-Expose-Headers", "X-Total-Count")
if status != nil {
w.WriteHeader(*status)
} else {
w.WriteHeader(http.StatusOK)
}
return json.NewEncoder(w).Encode(i)
}
このやり方で合っているかは自信ないし、modelが増減するたびにif追加しないといけないのは良くない気がする。
とりあえずは動いたので、ヨシ。