Spring boot 在spring控制器中获取表单数据
嗨,它可能看起来像复制品,但它不是 我正在使用SpringBoot构建一个RESTAPI,需要获取客户端应用程序在POST请求中发送的表单数据。 出于测试目的,我使用了邮递员。到目前为止,我已经试过了Spring boot 在spring控制器中获取表单数据,spring-boot,Spring Boot,嗨,它可能看起来像复制品,但它不是 我正在使用SpringBoot构建一个RESTAPI,需要获取客户端应用程序在POST请求中发送的表单数据。 出于测试目的,我使用了邮递员。到目前为止,我已经试过了 @PostMapping("/feed/comment/add/{feedId}") public ResponseEntity<BaseResponse> addComment(@RequestHeader(name = Constants.USER_ID_HEADER) i
@PostMapping("/feed/comment/add/{feedId}")
public ResponseEntity<BaseResponse> addComment(@RequestHeader(name = Constants.USER_ID_HEADER) int userId,
@PathVariable("feedId") int feedId,
@RequestParam("comment") String comment
) {
LOGGER.info("Received add comment request with comment:"+comment);
return new ResponseEntity<BaseResponse>(new BaseResponse("You are not feed owner", RESPONSETYPE.ERROR), HttpStatus.UNAUTHORIZED);
}
我非常确定,通过PlaneServlet,我可以使用request.getParameter(“comment”)访问此文件
不确定在使用spring rest控制器的情况下如何获取它。“必需的字符串参数‘comment’不存在”此错误发生在需要此参数但您未发送它时
@RequestParam(value=“comment”,required=false)
这将使comment参数成为可选参数。因此,如果您没有发送comment参数,则可以
@PostMapping("/feed/comment/add/{feedId}")
public ResponseEntity<BaseResponse> addComment(@RequestHeader(name = Constants.USER_ID_HEADER) int userId,
@PathVariable("feedId") int feedId,
@RequestParam Map<String, String> values
) {
for(String key: values.keySet()) {
System.out.println(key+":"+values.get(key));
}
return new ResponseEntity<BaseResponse>(new BaseResponse("You are not feed owner", RESPONSETYPE.ERROR), HttpStatus.UNAUTHORIZED);
}
------WebKitFormBoundarymk97RU1BbJyR0m3F
Content-Disposition: form-data; name:"comment"
test comment
------WebKitFormBoundarymk97RU1BbJyR0m3F--