【问题标题】:Error in passing a parameter string with period to spring-boot backend将带有句点的参数字符串传递给 spring-boot 后端时出错
【发布时间】:2018-10-19 23:22:06
【问题描述】:

我正在从我的前端服务向我的后端服务进行 api 调用,该调用大部分时间都有效,但是当表单名称中有句点时它会中断。这是我的前端调用的 api:

static GetMetaDataInfo(returnName) {
  return axios.get(`${ROOT_URL}/api/v1/filing-metadata/metadata/${returnName}`, {
      headers: {
        'Content-Type': 'application/json',
      }
    })
    .then(response => response.data)
    .catch(error => console.log(error));
}

我的后端控制器映射到“/api/v1/filing-metadata”,以下请求转到“/metadata/{level1}/{level2}/{form_name}”

返回名称的格式为 {Country}/{State}/{FormName}。以“US\CO\CO DR-0251”为例(这是我拨打电话时有效的示例)。

后端使用“US\CO\CO DR-0251”,{level1}对应US,{level2}对应CO,{form_name}对应CO DR-0251。通过使用这个完整的名称,我在数据库中查询一个匹配项,并返回与这个表单名称关联的数据。 当使用名称中带有句点的表单名称进行呼叫时,我的问题出现了,例如:“US\NV\NV_TXR-02.01”

在这种情况下,我提出请求时的 {form_name} 是“NV_TXR-02”而不是“NV_TXR-02.01”,当我查询数据库时找不到匹配项。表单名称不是我可以更改的,有没有办法在我调用我的 spring-boot 后端时保留它省略的文本?

【问题讨论】:

  • 尝试在您的请求中添加斜杠。
  • 那行得通,一旦我在最后使用了“/”,它并没有在这段时间之后切断所有内容。谢谢!

标签: javascript api spring-boot react-redux axios


【解决方案1】:

感谢 Steven B. 的评论,结果证明它是这个问题的解决方案。我只需要在 url 字符串的末尾添加一个 '/' 字符。我在前端代码和后端 api 中添加了一个,现在每个案例都可以正常工作,即使它们有句号。

【讨论】:

    猜你喜欢
    • 2020-11-26
    • 2021-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-30
    • 2013-06-20
    相关资源
    最近更新 更多