【问题标题】:Is there a difference between text/plain and string?text/plain 和 string 之间有区别吗?
【发布时间】:2019-11-26 18:48:32
【问题描述】:

我正在尝试向较​​旧的 Java 后端发送 Put 请求。后端的路径是

@PUT
@Path("/foo/bar")
@Consumes("text/plain")
public String someFunction(String ExpectedArgument){
//Unrelated logic
}

我正在尝试使用 Javascript 和 Axios 从前端发送一个字符串。

let someString = 'Example String'
axios.put('/foo/bar',someString).then(resp=>console.log(resp))

不幸的是,当我尝试执行此操作时,我收到了 HTTP 415 错误内容类型错误。查看我提出的其他成功的放置请求,我发现唯一的区别是这个请求中有“@Consumes(“text/plain”)”行。我只能得出结论,java 所期望的文本/纯文本与我提供的 javascript 字符串之间存在一些差异。

我想知道我的字符串是什么导致它被拒绝以及如何编辑我的代码以便后端接受它。

【问题讨论】:

    标签: javascript java axios put


    【解决方案1】:
    const headers = {
      'Content-Type': 'text/plain',
    }
    let someString = 'Example String'
    axios.put('/foo/bar', someString, {
        headers: headers
      }).then(resp=>console.log(resp))
    

    【讨论】:

    • 这是最糟糕的事情。我之前尝试过,但没有用,但是一旦我使用了您的代码,它就可以了。我一定是打错了。我假设 Java 中有一些东西必须检查标头以确定它们是否正确,并且 axios 调用的默认值不是它正在寻找的“文本/纯文本”。谢谢。
    • @NegativeFriction 如果你说有效载荷必须具有某种 MIME 类型,那么它必须有一个标头说明它是那种 MIME 类型。
    猜你喜欢
    • 2014-10-09
    • 2011-07-19
    • 2011-08-25
    • 1970-01-01
    • 2022-12-04
    • 1970-01-01
    • 2012-03-18
    • 2013-08-13
    • 1970-01-01
    相关资源
    最近更新 更多