1. 程式人生 > >SpringMVC報錯:The given id must not be null

SpringMVC報錯:The given id must not be null

普通看這個錯誤肯定是入參id為空了, 但是有一種情況是你入參沒有id這個引數, 系統還是報這個錯誤, 比如如下程式碼

 @RequestMapping(
            value = "/messages/{userId}",
            method = RequestMethod.GET,
            produces = MediaType.APPLICATION_JSON_VALUE
    )
    public PageData<AppMessage> getMessages(
            @PathVariable String userId,
            @RequestParam(value = "page", required = false, defaultValue = "0") int page,
            @RequestParam(value = "size", required = false, defaultValue = "20") int size
    ) {
        SecurityUtil.checkIsUserHimself(userId);
        List<AppMessage> messages = appMessageService.getMessages(page, size, userId);
        fetchProfile(messages);
        return new PageData<>(page, size, (appMessageService.countMessage(userId) / size) + 1, messages);
    }

以上程式碼的入參是userId, 但是專案任然報這個錯誤!

 

問題根源:

這個時候去檢查下面的程式碼, springData的介面中只要你用了主鍵(索引)去查資料,那麼springmvc也會報這個錯誤!