2016-08-31 12 views
1

私はGolangの新機能です。Irisフレームワークを使用してREST APIを構築するためのコードテストを行っています。POSTからボディデータを取得しようとしていますが、私はそれを動作させることはできません、私はボディーバインダーhttp://iris-go.com/body_binder/を読んで、例に従った。私が得る結果は空の構造体である:Iris-goを使用したボディポストの投稿

マイコード:

package main 

import (
    "github.com/kataras/iris" 
    "fmt" 
) 

type PostAPI struct { 
*iris.Context 
} 

type Lead struct { 
fbId string 
email string 
telefono string 
version string 
mac string 
os string 
} 

func (p PostAPI) Post(){ 

    lead := Lead{} 
    err := p.ReadJSON(&lead) 

    if (err != nil) { 

    fmt.Println("Error on reading form: " + err.Error()) 
    return 
    } 
    fmt.Printf("Post! %v", lead) 
} 

func main() { 

    iris.API("/", PostAPI{}) 
    iris.Listen(":8080") 
} 

ポスト:

curl -H "Content-Type: application/json" -X POST -d '{"fbId": "werwer","email": "[email protected]","telefono": "5555555555","version": "123","mac": "3j:3j:3j:3j","os": "uno bien chido"}' http://0.0.0.0:8080/ 

結果:

Post! {  } 

私が間違っているのか?

答えて

0

あなたが感謝 すなわち

type Lead struct { 
    FbId string `json:"fbId"` 
    Email string `json:"email"` 
    Telefono string `json:"telefono"` 
    Version string `json:"version"` 
    Mac string `json:"mac"` 
    Os string `json:"os"` 
} 
+0

あなたの構造にJSONタグとフィールドをエクスポートしようとする必要があり、それが働きました! –

関連する問題