Post cURL可以工作,但是没有一个rest客户端使用Go服务器

Post cURL可以工作,但是没有一个rest客户端使用Go服务器,post,curl,go,httpserver,dhclient,Post,Curl,Go,Httpserver,Dhclient,拥有一个简单的GO Web服务器,它接受图像作为POST请求的一部分 代码段-请求映射到此函数 func UploadFile(w http.ResponseWriter, r *http.Request, p httprouter.Params) { successResponse := models.HTTPResponse { FileURL:"http://testing.com", } WrapResponse(

拥有一个简单的GO Web服务器,它接受图像作为POST请求的一部分

代码段-请求映射到此函数

 func UploadFile(w http.ResponseWriter, r *http.Request, p httprouter.Params) {
        successResponse := models.HTTPResponse {
            FileURL:"http://testing.com",
        }
        WrapResponse(w, successResponse, http.StatusOK)
    }
响应编写器函数

func WrapResponse(writer http.ResponseWriter, content interface{}, status int) {    
    writer.Header().Set("Content-Type", "application/json")
    writer.WriteHeader(status)
    // Content is a struct Response { fileURL string }  
    responseJson, err := json.Marshal(content)  
    CheckError(err, "Error wrapping response")  
    writer.Write(responseJson) 
    }

    func CheckError(err error, msg string) {    
    if err != nil {         
    panic(fmt.Sprintf("%s : %s", msg, err))     
    } 
    }
当我使用下面的cURL点击URL时,响应是200 OK(如预期的那样)

curl-X POST-d@“2015-11-15屏幕截图,下午6.09.58,巴布亚新几内亚” --标题“内容类型:图像/png” --标题“X-User-Agent:Agent php”响应-->{“fileURL”:“}%

整个cURL请求和响应

但是当我从DHC rest客户端尝试同样的方法时,我也尝试过使用高级rest客户端,但没有得到响应


编辑1:当从rest客户端触发请求时,请求确实到达服务器

我不相信你在做你认为你在做的事

curl -X POST -d "Screen Shot 2015-11-15 at 6.09.58 pm.png" http://localhost:8000/image/agent123/property --header "Content-Type:image/png" --header "X-User-Agent:agent-php" 
将不会发送文件“Screen Shot 2015-11-15 at 6.09.58 pm.png”,而是将文本作为正文发送。你可能想在6.09.58 pm.png看到“-d”的2015-11-15屏幕截图


那么你的“好”结果就不是很好了,所以你必须弄清楚服务器接收端的bug是什么。因为您正在使用的GUI客户端可能正在发送文件,而cURL则不是。而且您的后端似乎接受文本,而不是文件

有什么问题?你的密码在哪里?@AmitKumarGupta请告诉我你还需要什么。我认为自从cURL工作以来,rest客户机添加了一些额外的头。我不认为代码有任何问题,这就是为什么不粘贴代码的原因。尝试运行curl作为verbose with--verbose以查看它到底发送了什么。curl-X POST-d@“屏幕截图2015-11-15于6.09.58 pm.png”--header“内容类型:image/png”--header“X-User-Agent:Agent php”{“fileURL”:“}%@Itachi我仍然不相信它正在做你认为它正在做的事情,尽管如此,如果你想要调试帮助,你必须提供路由/接收代码。添加了请求处理功能。这些信息足够吗?