Я использую spring mvc и ajax для запроса данных с сервера
Это мой класс ModelAttribute
@Data
public class PromotionSettingCriteria extends BaseRequest{
private Long[] promotionIds;
private Long promotionId;
}
Это мой ajax запрос
$.ajax({
url: path + '/promotion/setting/search.htm',
type: 'POST',
data: {
promotionIds: promotionIds,
promotionId: promotionIds[0],
},
success: function (response) {
let settingResponse = JSON.parse(response);
console.log('Promotion setting', response);
if (settingResponse.status == '1') {
// console.log(response)
}
},
error: function () {
console.log("Promotion setting error");
}
})
Класс контроллера
@Controller
@RequestMapping("/promotion")
public class PromotionController extends BaseController {
@RequestMapping(value = "/setting/search", method = RequestMethod.POST)
@ResponseBody
public Object searchPromotionSetting(HttpServletRequest request,@ModelAttribute PromotionSettingCriteria criteria) {
try{
Map<String, Object> requestParams = getRequestParams(request);
if (criteria != null && criteria.getPromotionIds() == null){
throw new ServiceException("Promotion Setting Criteria Cannot be NULL");
}
List<PromotionSetting> resultData = promotionSettingService.getPromotionSettingByCriteria(criteria);
return RequestUtil.createSuccessResponse(resultData);
}catch (Exception e){
return RequestUtil.createFailResponse(e);
}
}
}
Это часть запроса от браузера введите описание изображения здесь
когда я не передаю идентификаторы промоушена, контроллер работает нормально и привязывает свойство промоушена, но когда я передаю идентификаторы промоушена, он показывает java.lang.NumberFormatException: For input string: ""
[analyze][DEBUG] [2020-07-31 17:35:18] org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.resolveException(134) | Resolving exception from handler [com.analyze.controller.PromotionController@1af465c7]: java.lang.NumberFormatException: For input string: ""
[analyze][DEBUG] [2020-07-31 17:35:18] org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.resolveException(134) | Resolving exception from handler [com.analyze.controller.PromotionController@1af465c7]: java.lang.NumberFormatException: For input string: ""
[analyze][DEBUG] [2020-07-31 17:35:18] org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.resolveException(134) | Resolving exception from handler [com.analyze.controller.PromotionController@1af465c7]: java.lang.NumberFormatException: For input string: ""
[analyze][DEBUG] [2020-07-31 17:35:18] org.springframework.web.servlet.FrameworkServlet.processRequest(989) | Could not complete request
java.lang.NumberFormatException: For input string: ""
Как разрешить привязку контроллера свойство списка в классе ModelAttribute?