I want to decode the two different struct for saving the data into the collection. but it gives error.
The two struct are given below these two files are in the folder named models.
User.go
type User struct {
Id int `json:"id" bson:"_id,omitempty"`
FirstName string `json:"first_name,omitempty" bson:"first_name,omitempty"`
LastName string `json:"last_name,omitempty" bson:"last_name,omitempty"`
EmailId string `json:"email_id,omitempty" bson:"email_id,omitempty"`
Password string `json:"password,omitempty" bson:"password,omitempty"`
PhoneNumber string `json:"phone_number,omitempty" bson:"phone_number,omitempty"`
AltPhoneNumber string `json:"alt_phone_number" bson:"alt_phone_number"`
Gender string `json:"gender,omitempty" bson:"gender,omitempty"`
Note string `json:"note,omitempty" bson:"note,omitempty"`
}
Provider.go
type Provider struct {
Id int `json:"id" bson:"_id,omitempty"`
Uid int `json:"uid" bson:"uid,omitempty"`
Speed string `json:"speed,omitempty" bson:"speed,omitempty"`
ProviderCategory string `json:"provider_category,omitempty" bson:"provider_category,omitempty"`
Priority int `json:"priority,omitempty" bson:"priority,omitempty"`
}
The code I tried to decode them
import (
"encoding/json"
"go-training/models"
"github.com/gin-gonic/gin"
"fmt"
)
var provider models.Provider
var user models.User
func SaveProvider(c *gin.Context) {
response := ResponseController{}
//decode the struct
providerErr := json.NewDecoder(c.Request.Body).Decode(&provider)
fmt.Println(providerErr) //Output:- nil
userErr := json.NewDecoder(c.Request.Body).Decode(&user)
fmt.Println(userErr) //output:- EOF
if userErr != nil {
fmt.Println("data is not properly formatted")
}
if providerErr != nil {
fmt.Printl?("data is not properly formatted")
}
}
Data entered in the json form-
{
"Id":1,
"Uid":1,
"speed":"new",
"provider_category":"WL",
"priority":1,
"first_name":"puneet",
"last_name":"jindal",
"email_id":"puneet@gmail.com",
"password":"poiuytrewq",
"phone_number":"9876543210",
"alt_phone_number":"9876543210",
"gender":"male",
"note":"phase 7"
}
Error:- EOF
How can I solve this problem? Can anyone help me? Thank you.