-3

我想构建一个休息应用程序,我必须在其中获取通过 post 作为 xml 发送的值。数据如何恢复?

我正在使用回声框架。

4

2 回答 2

1

您需要结合使用 Echo 的 Binding 功能和 struct 标签来提供您期望的 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/

于 2021-08-16T14:48:26.600 回答
0

您可以使用以下函数,其中“值”对应于包装标签名称。

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)
}
于 2021-08-16T14:47:51.347 回答