Angular / Spring Boot - HTTP 正文中的附加字符



我正在使用带有Angular 4的angular-cli来开发带有Spring Boot 1.5.2.RELEASE后端的小应用程序。

当我使用http.post时,服务器接收带有附加字符 (]) 的 HTTP 正文,这会导致反序列化异常。Chrome 开发者工具会显示没有它的请求。到目前为止,其他 HTTP 请求方法仍未使用。

我的 Spring Boot 后端通过 HTTP POST 得到的结果是这样的:

{
"id": "1111",
"customer": "acustomer",
"date": "1950-01-01",
"duration": "0"
}]

它应该是什么:

{
"id": "1111",
"customer": "acustomer",
"date": "1950-01-01",
"duration": "0"
}

我尝试的第一件事是使用JSON.stringify(...)发送我的实体,但添加]也在那里。

this.http.post('/api/work', JSON.stringify(entity))...

第二个想法是代理添加了它。对于开发建议,我通过proxy.conf.json文件配置了一个代理。当我使用ng build构建应用程序并从 Spring 引导服务器提供它时,发生了同样的问题。

proxy.conf.json { "/api/*": { "target": "http://localhost:8080", "changeOrigin": true, "secure": false, "logLevel": "debug" }

当我在 Angular 4 中使用 HTTP GET 时,每个 GET 请求都有一个带有单个]的主体。

我用谷歌搜索了一段时间,但我找不到任何东西。

问题不在于我过于关注的 Angular 2 代码。它在我的 Java 代码中,我使用了注释@RequestParam而不是@RequestBody

记录器仍显示其他],但不会引发反序列化异常。

似乎您在前端没有问题,因为您在开发人员工具中的数据中没有看到任何问题。 尝试将consumes属性添加到控制器的RequestMapping

@RequestMapping(value = "/something", headers = "content-type="application/json", consumes = "application/json")

这应该修剪该字符

相关内容

最新更新