小编Kau*_*bhN的帖子

将 Typescript“Map”作为 Angular4 HTTP POST 请求的一部分传递

我有一个 Angular 4 项目,我在其中创建了一个示例地图,如下所示:

let sampleMap = new Map<string, string>();
sampleMap.set('key1','value1');
Run Code Online (Sandbox Code Playgroud)

现在我将此 Map 作为参数传递给 Angular 4 Post 方法,该方法连接到 Spring Boot Rest 后端,如下所示

角度 4 代码:

this.http.post('http://localhost:8080/data/posturl', sampleMap).map((response: Response) => {
      return <string>response.text();
    })
Run Code Online (Sandbox Code Playgroud)

Spring Boot Rest后端代码:

@RequestMapping("/posturl")
public String launch(@RequestBody Map<String, String> sampleMap) {
    System.out.println("Received=" + sampleMap);
    return "SUCCESS";
}
Run Code Online (Sandbox Code Playgroud)

尽管当我尝试打印如上所示的“sampleMap”时,它会打印一张如下所示的空白地图:

Received={}
Run Code Online (Sandbox Code Playgroud)

我正在使用 Typescript 版本 '~2.3.3' 并且我的 'tsconfig.json' 提到目标为 'es5'。有人可以解释这种行为吗?

typescript angular angular4-httpclient

10
推荐指数
1
解决办法
8430
查看次数

标签 统计

angular ×1

angular4-httpclient ×1

typescript ×1