【发布时间】:2019-01-08 18:47:56
【问题描述】:
我正在开发一个具有 java 后端的反应应用程序。 React 前端向 Java Web 服务控制器发送 URL 请求,并在该 Web 服务控制器中定义变量类型。由于 URL 请求是一个字符串,我在处理非字符串值时遇到了麻烦。而且由于 Javascript 不是像 Java 这样的强类型语言,我无法在前端定义变量类型。
网络请求示例:
localhost:8080/filteredCSV.json?status=UNDER_ACTIVE_REVIEW,AUTHORIZED_BY_DWB,UNDER_CONSTRUCTION,CONSTRUCTION_COMPLETED&engineerEmail=null&issues=null&date=null
网络服务控制器:
@RequestMapping(value = "/filteredCSV.json")
@ResponseBody
public WebserviceResponse<?>filteredCSV(
@RequestParam(value="status") ArrayList status,
@RequestParam(value="engineerEmail") ArrayList engineerEmail,
@RequestParam(value="issues", required=false) Boolean issues,
@RequestParam(value="date", required=false) Local Date date){
return service.filteredCSV(status, engineerEmail, issues, date);
}
如果 Boolean 或 Date 值为 null,则 null 作为字符串传递,这会导致 TypeMismatch 错误并且程序停止。一旦它到达 Web 服务控制器,我似乎没有办法将字符串更改为非字符串空值。我理解为什么会发生这种情况,但我不确定是否有办法解决它,以便我可以将 null 作为值而不是 null 作为字符串传递。我只是被搞砸了吗?没有办法解决吗?
【问题讨论】:
标签: javascript java http-request-parameters