angular 8 post rest服务不使用spring引导-HttpServletRequest中提供null

angular 8 post rest服务不使用spring引导-HttpServletRequest中提供null,angular,rest,spring-boot,angular8,Angular,Rest,Spring Boot,Angular8,我正在处理一个角度应用程序。在这种情况下,我必须将数据发送到后端post api调用。我正在使用“formdata”发送文件。 但当我在spring引导控制器HttpServletRequest中检查java端时,没有我们从angular发送的数据(当我从请求中读取userId时,我得到null) 下面是我的角度代码 const formData = new FormData(); for(let j=0;j<this.fileLists.length; j++) { formData

我正在处理一个角度应用程序。在这种情况下,我必须将数据发送到后端post api调用。我正在使用“formdata”发送文件。 但当我在spring引导控制器HttpServletRequest中检查java端时,没有我们从angular发送的数据(当我从请求中读取userId时,我得到null)

下面是我的角度代码

const formData = new FormData();
for(let j=0;j<this.fileLists.length; j++)
{
  formData.append("files",<File>this.fileLists[j]);
}
formData.append('userId','magic123');
this.homeService.uploadFiles(formData).subscribe(data => {
  console.log("result is ", data)
})


uploadFiles(formdata){
return this.http.post("upload url",formdata);
}
const formData=new formData();
对于(设j=0;j{
日志(“结果是”,数据)
})
上载文件(formdata){
返回此.http.post(“上传url”,formdata);
}
下面是我的java代码

java

@CrossOrigin(origins = ("http://localhost:4200"))
@PostMapping(value = "/upload" )
public ResponseEntity<CdccUploadResponseVO> uploadJSON(HttpServletRequest httpRequest, 
HttpServletResponse httpResponse)
throws CALValidationException
{
  System.out.println("Controller================================get is"+httpRequest.getParameter("userId"));
java
@交叉原点(原点=(“http://localhost:4200"))
@PostMapping(value=“/upload”)
公共响应上传JSON(HttpServletRequest httpRequest,
HttpServletResponse(httpResponse)
抛出CALValidationException
{
System.out.println(“控制器======================================get是”+httpRequest.getParameter(“用户ID”);
我在httpRequest.getParameter(“userId”)中得到null


编辑1:当我在postman中尝试时,API仅在我们以多部分形式发送数据时才起作用。否则,相同的错误与angular类似。因此,如何从angular而不是Formdata发送多部分表单


请帮我解决这个问题。

我想你的角度代码有误,应该是小写的
f

返回此.http.post(“上传url”,formData);


另外,
“上传url”
应该与Spring Boot
@PostMapping
的url相匹配,但可能您刚刚编辑了它。我希望这会有所帮助。

我想您的角度代码有误,应该是小写的
f

返回此.http.post(“上传url”,formData);


另外,
“上传url”
应该与Spring Boot的url匹配
@PostMapping
,但可能您刚刚编辑了它。我希望这会有所帮助。

ref-:

我只使用小写字母。。这是一个打字错误。'upload url'是正确的,它正在到达system.out.println。在这种情况下,您的代码对我来说很好。我想知道您是否与授权负责人一起工作ers,如果是,这些是否正确设置了服务器端?您也可以尝试在方法中添加
@RequestParam String userId
,看看Spring是否给您带来了有意义的错误。服务器端调用通过邮递员进行测试。它正在工作。如果我们打开HttpServletRequest,我们在哪里可以看到数据?我尝试了@RequestParam String userId并且得到了401错误。因为userId为null 401是一个
未经授权的
错误,这意味着存在授权问题。如果可以,请尝试关闭服务器上的任何授权,以查看是否存在此问题。当我在postman中尝试时,API仅在我们以多部分形式发送数据时才起作用。否则,类似angula的错误也会出现r、 因此,我如何从angular而不是Formdata.lowercase发送多部分表单。我正在使用。这是一个打字错误。“上载url”正确,它正在到达system.out.PrintLn。在这种情况下,您的代码对我来说很好。我想知道您是否使用授权标头,如果是,这些是否正确设置了服务器端?您还可以尝试添加
@RequestParam String userId
,查看Spring是否给了您一个有意义的错误。服务器端调用通过postman进行测试。它正在工作。如果我们打开HttpServletRequest,我们在哪里可以看到数据?我尝试了@RequestParam String userId,得到了401个错误。因为userId为null 401是一个
未经授权的
错误,这意味着正在检查是否存在授权问题。如果可以,请尝试关闭服务器上的任何授权,以查看是否存在此问题。当我在postman中尝试时,API仅在我们以多部分表单发送数据时才起作用。否则,与angular相同的错误。因此,如何从angular而不是Formdata发送多部分表单。