質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Q&A

解決済

1回答

307閲覧

Golang 構造体をそのままJSONで返すのを親で囲みたい

rera

総合スコア109

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

0グッド

0クリップ

投稿2017/12/23 11:36

Golangを勉強しています。

Ginを利用してエラーをJSONで返す時に

GO

1error.go 2 3type Error struct { 4 Code int `json:"code"` 5 Message string `json:"message"` 6 UserTitle string `json:"user_title"` 7 UserMessage string `json:"user_message"` 8 Description string `json:"description"` 9 Type string `json:"type"` 10} 11 12func Unknown(description, types string) *Error { 13 return &Error{ 14 Code: 500, 15 Message: "Unknown error occurred", 16 Description: description, 17 Type: types, 18 } 19}

GO

1main.go 2 3if err != nil { 4 c.JSON(http.StatusBadRequest, error.Unknown()) 5 return 6 }

となっているときに返ってくるJSONは

Javascript

1{ 2 "code": 2, 3 "message": "", 4 "user_title": "", 5 "user_message": "", 6 "description": "", 7 "type": "register" 8}

となりますが、これを

Javascript

1{ 2 "error": { 3 "code": 2, 4 "message": "", 5 "user_title": "", 6 "user_message": "", 7 "description": "", 8 "type": "" 9 } 10}

こうしたいのですが、Goの場合、どうやったら実現できるのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

c.JSON(http.StatusBadRequest, error.Unknown())
というところを
c.JSON(http.StatusBadRequest, map[string]interface{}{"error":error.Unknown()})
と記述するのはどうでしょうか?

投稿2017/12/23 15:39

nobonobo

総合スコア3367

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rera

2017/12/24 06:51

mapの存在をすっかり忘れていました..m(_ _)m ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問