Skip to content

React Admin

   

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追加しないといけないのは良くない気がする。

とりあえずは動いたので、ヨシ。