Angular 5:将带有字符串参数和FormData参数的POST请求一起发送到Spring REST控制器

时间:2018-01-12 14:28:48

标签: spring-boot angular5 spring-restcontroller

我想从我的服务向SpringBoot @RestController发送POST请求。我有一堆我发送的字符串参数,但我也有一个FormData参数,它是一个图像(图片参数)。如果我这样做:

  public createEvent(name, description, fromDate, toDate, userId, picture){
      this.http.post(this.baseUrl + 'create',
          {
              name: name,
              description: description,
              fromYear: fromDate['year'],
              fromMonth: fromDate['month'],
              fromDay: fromDate['day'],
              toYear: toDate['year'],
              toMonth: toDate['month'],
              toDay: toDate['day'],
              userId: userId,
              picture: picture
          }).subscribe();
  }

我的Controller方法如下所示:

@PostMapping(value = "/create")
    public void createEvent(@RequestBody Map map){}  

地图如下所示:
enter image description here

我无法获取该文件 我可以将FormData作为单个参数发送到post请求中,并在我的控制器中作为Multipart文件接收而没有任何问题,但是是否可以使用其他参数在同一请求中发送它?

1 个答案:

答案 0 :(得分:1)

显然,您可以在FormData对象中追加所有参数,并通过控制器中的@RequestParam访问它们。