Sonar 在第 17 行標記此后映射,并顯示以下錯誤(Date parsedStartDate = df.parse(startDate);)://Magicservice.controller.MagicStoreController.getTradeMagicsByDateRange(HttpServletRequest, String, String, String) 中java.text.DateFormat.parse(String)的非空參數傳遞Null //此方法調用為非空參數傳遞空值方法參數為空。要么該參數被注釋為應始終為非空的參數,要么分析表明它將始終被取消引用。該代碼已經阻止傳遞空值,不確定這里是否缺少某些內容@PostMapping(value = "/Magics/MagiclistbyDateRange/{MagicStatus}") public @ResponseBody List<MagicLog> getTradeMagicsByDateRange(HttpServletRequest request, @PathVariable String MagicStatus, @RequestParam(value = "STARTDATE", required =false ) String startDate,@RequestParam(value = "ENDDATE", required =false) String endDate) throws ESException { logger.info("MagicLog received from client - MagicStatus is :: " + MagicStatus); String inAppAuthorization = request.getHeader("InAppAuthorization"); validateRequest(request, inAppAuthorization); List<MagicLog> MagicLogs = new ArrayList<>(); DateFormat df = new SimpleDateFormat("yyyyMMddHH:mm:ss"); df.setLenient(false); if (startDate == null && endDate==null) { throw new ESException(MSG_ERROR_NULL_INPUTS); } else{ try { // THIS is the line causing issues (17) Date parsedStartDate = df.parse(startDate); //Null passed for non-null parameter of java.text.DateFormat.parse(String) in Magicservice.controller.MagicStoreController.getTradeMagicsByDateRange(HttpServletRequest, String, String, String) //This method call passes a null value for a non-null method parameter. Either the parameter is annotated as a parameter that should always be non-null, or analysis has shown that it will always be dereferenced.
1 回答

慕哥9229398
TA貢獻1877條經驗 獲得超6個贊
startDate
您只處理當和endDate
均為空時的情況
相反,您應該處理其中任何一個為空時的情況:
if (startDate == null || endDate==null) { throw new ESException(MSG_ERROR_NULL_INPUTS); }
添加回答
舉報
0/150
提交
取消