0

我已将此添加为@Configuration

@Configuration
public class RespositoryConfiguration {
    @Bean
    public PageableHandlerMethodArgumentResolverCustomizer customize() {
        return p -> {
            p.setOneIndexedParameters(true);
        };
    }
}

这确实将 page 中的 number 设置为 1 到默认存储库。

"page": {
            "size": 5,
            "totalElements": 11,
            "totalPages": 3,
            "number": 1
        }

但是当使用自定义控制器获取时,它不会将数字设置为 1。

这是我的控制器:

 @GetMapping
        public ResponseEntity<ResponseMessage<?>> getAll(
                Pageable pageable,
                PagedResourcesAssembler assembler,
                PersistentEntityResourceAssembler resourceAssembler) throws Exception {
            System.out.println(pageable.getPageNumber());
            ResponseMessage responseMessage = itemService.findAll(pageable, assembler, resourceAssembler);
            return new ResponseEntity<ResponseMessage<?>>(responseMessage, HttpStatus.OK);
        }

这是我的服务:

 public ResponseMessage findAll(Pageable pageable, PagedResourcesAssembler assembler,
                                   PersistentEntityResourceAssembler resourceAssembler) throws Exception {
        Page<Item> itemList = itemRepository.findAll(pageable);
        Page<ItemDto> itemDtoListResponse = itemList.map(itemMapper::toDto);

        ResponseMessage responseMessage = ResponseMessage.withResponseData(assembler.toModel(itemDtoListResponse),
                                                                           "Item List", "Info");
        return responseMessage;

    }

结果还是这样:

"page": {
            "size": 5,
            "totalElements": 11,
            "totalPages": 3,
            "number": 0
        }

我的控制器或服务中缺少什么?

4

0 回答 0