2 回答
![?](http://img1.sycdn.imooc.com/545868190001d52602200220-100-100.jpg)
TA贡献1890条经验 获得超9个赞
您需要将 Echo 的绑定功能与结构标记结合使用,以提供您希望 XML 键的名称。
type DoThingRequest struct {
Name string `xml:"name"`
}
e.POST("/do_thing", func(c echo.Context) (err error) {
body := new(DoThingRequest)
if err := c.Bind(body); err != nil {
return
}
// Do some stuff...
}
有关详细信息和绑定选项,请参阅 https://echo.labstack.com/guide/binding/。
![?](http://img1.sycdn.imooc.com/54586431000103bb02200220-100-100.jpg)
TA贡献1805条经验 获得超9个赞
您可以使用以下函数,其中“value”对应于包装器标签名称。
func xmlEndpoint(c echo.Context) error {
// get xml from request body
xml := c.Request().Body
// parse xml
var data map[string]interface{}
if err := xml.Unmarshal(data); err != nil {
return err
}
// get value from xml
value := data["value"].(string)
}
- 2 回答
- 0 关注
- 95 浏览
添加回答
举报