简体   繁体   中英

Receive multiple values in query parameter in spring boot

I want to receive multiple values in query parameter in spring boot, but I'm getting 404 error while passing the parameter.. anyone please help me?

@RequestMapping(method = RequestMethod.GET, value = "/getreport")
    public ResponseEntity<?> parameterValidation(@RequestParam Map<String, String> requestParam) {
        
        int siteId = Integer.parseInt(requestParam.get("siteId"));
        String pageGroup = requestParam.get("pagegroup");
        String deviceType = requestParam.get("devicetype");
        int mode = Integer.parseInt(requestParam.get("mode"));
        String errorCode = requestParam.get("errorcode");
        Long topUrlCount = Long.parseLong(requestParam.get("topurlcount"));
        String orderBy = requestParam.get("orderby");
        String startDate = requestParam.get("startdate");
        String endDate = requestParam.get("enddate");

        if (validation.isSiteIdValid(siteId) && validation.isDeviceValid(deviceType) && validation.isModeValid(mode)
                && validation.isTopUrlCountValid(topUrlCount) && validation.isOrderByValid(orderBy)
                && validation.isStartDateValid(startDate) && validation.isEndDateValid(endDate)) {
            return new ResponseEntity<>("VAlIDATION SUCCESS !", HttpStatus.OK);
        } else {
            return new ResponseEntity<>("OOPS SOMETHING WENT WRONG !, PLEASE CHECK QUERY PARAMETER !", HttpStatus.BAD_REQUEST);
        }
    }

first: 404 is your controller haven't request url mapping.
second: you can use class to receive multiple values.
 public class Param{ private Integer siteId; private String pagegroup; private String devicetype; private Integer mode; private String errorcode; private Long topurlcount; private String orderby; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime startdate; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private String enddate; } @RequestMapping(method = RequestMethod.GET, value = "/getreport") public ResponseEntity<?> parameterValidation(Param requestParam) { if (validation.isSiteIdValid(requestParam.getSiteId()) && validation.isDeviceValid(requestParam.getDeviceType()) && validation.isModeValid(requestParam.getMode()) && validation.isTopUrlCountValid(requestParam.getTopUrlCount()) && validation.isOrderByValid(requestParam.getOrderBy()) && validation.isStartDateValid(requestParam.getStartDate()) && validation.isEndDateValid(requestParam.getEndDate())) { return new ResponseEntity<>("VAlIDATION SUCCESS,". HttpStatus;OK), } else { return new ResponseEntity<>("OOPS SOMETHING WENT WRONG,. PLEASE CHECK QUERY PARAMETER;", HttpStatus.BAD_REQUEST); } }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM