Echo (https://github.com/labstack/echo) adlı hafif bir çerçeve web çerçevesi kullanıyorum ve onunla çok basit bir API oluşturmaya çalışıyorum.golang API
bu benim yollarından biridir
e.Get("/v1/:channel/:username", getData)
bu bir MySQL veritabanı
func getData(c echo.Context) error {
quote := new(Quote)
for rows.Next() {
var username string
var message string
err = rows.Scan(&username, &message)
checkErr(err)
quote.username = username
quote.message = message
}
log.Println(quote)
defer rows.Close()
return c.JSON(http.StatusOK, quote)
}
itibaren SEÇ çok basit ben de dönüş değeri
için bu temel yapı var getData işlevitype Quote struct {
username string
message string
}
Maalesef şimdi bir JSON'u nasıl iade edeceğimi anlayamıyorum. Bu kodu denediğimde, sunucudan yanıt her zaman yalnızca {}
Geri dönüşü denedim c.String iyi çalışıyor ve yanıt veriyor ancak bir JSON döndürmek istiyorum.
Bu örneği takip ettim ve sorunu burada göremiyorum. https://github.com/labstack/echox/blob/master/recipe/crud/main.go
Neyi yanlış yaptığım hakkında bir fikriniz var mı?
bu mantıklı ve kusursuz çalışıyor! teşekkür ederim! – gempir
Yapı kullanmadan keyfi bir json üretmenin bir yolu var mı? – Homan
JSON'la marshal yapmak için herhangi bir 'map [string] ara yüzünü {}' kullanabilirsiniz. Örneğin için. : t: = harita [dize] arabirimi {} {"field1:" value1 ",}' 'str, err: = json.Marshal (t)' 'fmt.Println (string (str))' @ Homan –