如何在 REST API 中获取 post 发送的 xml

How to get the xml sent by post in a REST API

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

我正在使用 echo 框架。

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

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)
}

您需要使用 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/