背景
GoのフレームワークであるGinの上でPostgreSQLをいじってたがerrorがJSONで返せない! →結局返せた
該当コード
_, err := db.Exec("insert into foo bar;") if err != nil { c.JSON(200, gin.H{ "message": err, }) return }
こんな感じで動くと思ってた
実際はdb.ExecのHTTPStatusCodeが400なのに200を返そうとするとちゃんとJSONが返せないっぽい
解決策
で,どうやってdb.ExecのHTTPStatusCodeを取得するか
あった
詳細(https://gowalker.org/github.com/gin-gonic/gin)
これを使って200
→c.Writer.Status()
とするとJSONが返せる