无法将帖子正文绑定到Go中的URL

无法将帖子正文绑定到Go中的URL,go,post,bind,Go,Post,Bind,我正试图通过访问我使用Echo提供的POST请求,对pokemon API进行一个简单的API调用 我正在向“localhost:8000/pokemon”发送一个POST请求,其中的主体{“pokemon”:“pikachu”}通过ioutil将主体重新连接到请求,并更改主体的请求:“localhost:8000/pokemon/pikachu” POST请求通过使用一些JSON进行响应来工作,但所做的调用仅限于“localhost:8000/pokemon”,而且似乎没有将主体添加到URL中

我正试图通过访问我使用Echo提供的POST请求,对pokemon API进行一个简单的API调用

我正在向“localhost:8000/pokemon”发送一个POST请求,其中的主体
{“pokemon”:“pikachu”}
通过ioutil将主体重新连接到请求,并更改主体的请求:“localhost:8000/pokemon/pikachu”

POST请求通过使用一些JSON进行响应来工作,但所做的调用仅限于“localhost:8000/pokemon”,而且似乎没有将主体添加到URL中

我认为这里的绑定有问题
u:=new(pokemon)

有人有什么想法吗

func main() {
    e := echo.New() // Middleware
    e.Use(middleware.Logger()) // Logger
    e.Use(middleware.Recover())
    //CORS
    e.Use(middleware.CORSWithConfig(middleware.CORSConfig{
        AllowOrigins: []string{"*"},
        AllowMethods: []string{echo.GET, echo.HEAD, echo.PUT, echo.PATCH, echo.POST, echo.DELETE},
    }))
    // Root route => handler
    e.GET("/", func(c echo.Context) error {
        return c.String(http.StatusOK, "Hello, World!\n")
    })
    e.POST("/pokemon", controllers.GrabPrice) // Price endpoint
    // Server
    e.Logger.Fatal(e.Start(":8000"))
}

添加到@mkopriva和@A.Lorefice已经回答的内容

是的,您需要确保导出变量,以便绑定正常工作。 因为底层绑定过程实际上是在结构上使用反射机制。请参阅文档,滚动到Structs部分以查看它是什么

type pokemon struct { 
    Pokemon string `json:"pokemon" form:"pokemon" query:"pokemon"`
}

您需要导出字段。i、 e.
键入pokemon struct{pokemon string…}
如@mkopriva所述,如果您的结构没有导出字段,绑定引擎将无法访问这些字段以将其标记与正文中的标记相匹配,因此无法进行绑定。在某些IDE中,如果将结构与未报告的字段一起使用,则会显示警告或错误。
type pokemon struct { 
    Pokemon string `json:"pokemon" form:"pokemon" query:"pokemon"`
}