HTTP中不可接受的响应“?

在我的Ruby on Rails应用程序中,我尝试通过POSTMAN REST客户端以Base64格式上传图像。 当我张贴图像时,我得到了406不可接受的回应。 当我检查我的数据库时,图像在那里,并成功保存。

这个错误的原因是什么,我需要在头文件中指定什么?

我的请求:

URL --- http://localhost:3000/exercises.json

标题:

Content-Type  -  application/json

原始数据:

{
    "exercise": {
        "subbodypart_ids": [
            "1",
            "2"
        ],
        "name": "Exercise14"
    },
    "image_file_name": "Pressurebar Above.jpg",
    "image":"******base64 Format*******"
}

您的操作没有失败。

您的后端服务说您的客户端请求的Accept HTTP标头中没有提供它返回的响应类型。

参考:http://en.wikipedia.org/wiki/List_of_HTTP_header_fields

  • 找出服务返回的响应(内容类型)。
  • 在请求Accept头中提供这个(内容类型)。
  • http://en.wikipedia.org/wiki/HTTP_status_code - > 406


    406不可接受根据请求中发送的接受标头,请求标识的资源只能生成内容特征不可接受的响应实体。

    如果服务器无法响应请求中指定的accept-header,则会发生406。 在你的情况下,似乎application / json的响应可能不被服务器接受。


    你提到你使用Ruby on Rails作为后端。 您没有发布相关方法的代码,但我的猜测是它看起来像这样:

    def create
      post = Post.create params[:post]
      respond_to do |format|
        format.json { render :json => post }
      end
    end
    

    将其更改为:

    def create
      post = Post.create params[:post])
      render :json => post
    end
    

    它会解决你的问题。 它为我工作:)

    链接地址: http://www.djcxy.com/p/8563.html

    上一篇: Not Acceptable Response" in HTTP?

    下一篇: How do I upload a file with metadata using a REST web service?