【发布时间】:2018-11-08 23:23:04
【问题描述】:
我有这个 Spring 控制器:
@RequestMapping(value = "/create")
@ResponseBody
public ResponseEntity<?> create(
@RequestParam String name,
@RequestParam Integer startYear,
@RequestParam Integer endYear,
@RequestParam(required=false) MultipartFile polygons,
@RequestParam(required=false) Long reference
)
是否可以通过 POST 请求从 Angular 发送这些参数?
我正在尝试这个:
public createExperiment(): Observable<any> {
const headers = new HttpHeaders({'Content-Type': 'application/json'});
return this.http.post(this.backUrl + 'puerto/create', {name:'name'}, {headers: headers})
.map((res: any) =>
res
);
}
但我已经收到此错误:
错误 : {timestamp: 1527665099011, status: 400, error: "Bad Request", exception: "org.springframework.web.bind.MissingServletRequestParameterException", message: "Required String parameter 'name' is not present", ...}
为什么会出现此错误?如果我解决了这个问题,我可以发送 MultiPartFile 吗?
我知道我可以解决这个问题,更改控制器并通过 ResquestBody 接收参数,但我想单独发送参数。
【问题讨论】:
标签: spring angular http post controller