【发布时间】:2018-06-18 11:33:05
【问题描述】:
我想从我的 Angular 2 应用程序中调用 java Api。我使用 typescript Map 在 java 应用程序中发送请求。
我在java中的RestEndpoint是这样的:
@PostMapping(value = Constants.PATH_BASE + "/sync/list")
public ResponseEntity<?>configureQueueList(@RequestBody Map<String,Integer> map){
//code here
}
当我尝试使用 typescript map 时出现此错误:
JSON 解析错误:无法从 START_ARRAY 令牌中反序列化 java.util.LinkedHashMap 的实例;嵌套异常是 com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize an instance of java.util.LinkedHashMap out of START_ARRAY token\n at [Source: java.io.PushbackInputStream@f6b068c;行:1,列:1]
在邮递员中,我将其用作原始正文,并且可以正常工作
{ "key1":"value1", "key2":"value2", ..... ..... }
编辑 2: 键入脚本端点
postMap(value:Map<string,number>){
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
return this.http.post(this.url, value, options)
.map(success => success.status)
.catch(this.handleError);
}
【问题讨论】:
-
请同时提供您的打字稿终点,因为似乎有问题。
-
我只是编辑问题。
标签: java angular typescript spring-boot angular2-template