HTTP POST请求在没有Content-Type请求头的情况下,如何判断请求数据的类型呢?

我要实现一个功能,就是根据postdata里的数据把key-value里的key给读取出来,我自己写的思路是先根据请求头Content-Type判断post请求数据类型,再根据对应类型做不同的处理。但是现在的情况是没有请求头,只有postdata数据.

func PostData(c *gin.Context) {

    dataType := c.Request.Header["Content-Type"]
    if len(dataType) == 0 {
        return
    }

    var key []string

    if dataType[0] == "application/x-www-form-urlencoded" {
        c.Request.ParseForm()
        for k, _ := range c.Request.Form {
            key = append(key, k)
        }
    } else if strings.Contains(dataType[0], "multipart/form-data") {
        c.Request.ParseMultipartForm(128)
        for k, _ := range c.Request.Form {
            key = append(key, k)
        }
    }
}
讨论数量: 1

可以跟前端协商,要求加上这个header头

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!