2016-08-31 3 views
1

Я новичок в Golang, я делаю некоторые тесты кода для создания REST API с использованием рамки Iris, я пытаюсь получить данные тела из Post в свой API, но Я не могу заставить это работать, я прочитал Body binderhttp://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

Вы должны попытаться экспорта полей с JSon тегов в вашей структуре т.е.

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

Спасибо, это сработало! –

Смежные вопросы