I have the following folder structure:
.
├── Makefile
├── README.md
├── myproject
│ ├── handlers
│ │ └── authorize_handler.go
│ ├── models
│ │ ├── id_token.go
│ ├── server.go
From authorize_handler.go
I try to reference the IdToken.idType
field from the id_token.go
file.
authorize_handler.go
package handlers
import (
"encoding/json"
"log"
"net/http"
"myproject/models"
)
func AuthorizeHandler(rw http.ResponseWriter, req *http.Request) {
idToken := new(models.IdToken)
decoder := json.NewDecoder(req.Body)
err := decoder.Decode(&idToken)
if err != nil {
panic(err)
}
log.Println(idToken.idType)
}
id_token.go
package models
type IdToken struct {
id string `json:"id" type:"string" required:"true" max_length:"50"`
idType string `json:"idType" type:"idType" required:"false"`
}
When I start server.go
using go run server.go
I get the following error:
handlers/authorize_handler.go:29: idToken.idType undefined (cannot refer to unexported field or method idType)
Moving the IdToken
to the authorize_handler.go
does solve the problem. Changing idType
to IdType
does not.
Any ideas or pointers to share?