Warm tip: This article is reproduced from serverfault.com, please click

vue.js-415请求中不支持的媒体类型

(vue.js - 415 Unsupported Media Type in post request)

发布于 2020-12-01 08:08:38

有谁知道会导致ERROR 415(不支持的媒体类型)的原因吗?谢谢

  createArticleOld : async ({ commit, dispatch }, data) => {
    let added = await dispatch('authorizedPostOld', 
        { action: 'article',
          data, 
          headers:  {
            'Content-Type': 'application/json-patch+json',
            'Accept': 'application/json-patch+json',
          },
        }
    )
    console.log(added)
    commit('ADD_ARTICLE', added)
  },
Questioner
Fillipo
Viewed
11
DPWork 2020-12-01 16:50:01

通常情况下,415的HTTP响应状态是告诉你,你要发送的数据的格式不被服务器接受,因为简要说明这里

原始服务器拒绝为请求提供服务,因为有效载荷的格式不受目标资源上此方法的支持。

格式问题可能是由于请求指示的Content-Type或Content-Encoding,或者是直接检查数据的结果。

因此,要解决该问题,你需要找出服务器期望接收并发送数据的格式。最简单的方法是检查服务器的文档(或询问服务器的开发人员)。

如果检查返回到浏览器的原始响应(或通过cURL或Postman等执行相同的请求),则可能会在其中找到有关端点接受的格式或导致错误响应的特定问题的一些线索。

当然,这依赖于服务器开发人员正确实现HTTP状态,并且很有可能他们犯了一个错误。作为一个完整的猜测,假设你正在设置Accept标头,则可能是服务器想告诉你它无法以“ application / json-patch + json”格式给出响应,尽管那应该给你406