在其他一些地方,我看到有人建议设置:第一个月但是,这并没有改变我的应用程序的行为。我已经把它放在我的SpringBoot应用程序的属性文件中。我错过了什么吗?
rggaifut1#
我的问题
我想要这个端点:profiles?page=1&size=10在page=1而不是page=0处开始分页结果。
profiles?page=1&size=10
page=1
page=0
我的解决方案
我将页面的defaultValue设置为1:@RequestParam(value = "page", defaultValue = "1")个将returnPaginatedProfiles的方法参数更改为page - 1。所以现在对于page=1,repository将返回page=0:returnPaginatedProfiles(page - 1, size)控制器代码:
defaultValue
1
@RequestParam(value = "page", defaultValue = "1")
returnPaginatedProfiles
page - 1
returnPaginatedProfiles(page - 1, size)
@GetMapping("/profiles") public String getPaginatedProfiles(@RequestParam(value = "page", defaultValue = "1") int page, @RequestParam(value = "size", defaultValue = "10") int size) { Page<Profile> profilePage = profileService.returnPaginatedProfiles(page - 1, size); // Unimportant code logic... }
字符串服务代码:
public Page<Profile> returnPaginatedProfiles(int page, int size) { Pageable pageable = PageRequest.of(page, size); return profileRepository.findAll(pageable); }
型
iklwldmw2#
您可以使用PageableDefault注解,即Controller方法上的@PageableDefault(page = 1),例如:
Controller
@PageableDefault(page = 1)
@RestController public class Controller { public Page< DataEntity > getEntities(@PageableDefault(page = 1)Pageable pageable){ //repository call here... } }
字符串
2条答案
按热度按时间rggaifut1#
我的问题
我想要这个端点:
profiles?page=1&size=10
在page=1
而不是page=0
处开始分页结果。我的解决方案
我将页面的
defaultValue
设置为1
:@RequestParam(value = "page", defaultValue = "1")
个将
returnPaginatedProfiles
的方法参数更改为page - 1
。所以现在对于page=1,repository将返回page=0:returnPaginatedProfiles(page - 1, size)
控制器代码:
字符串
服务代码:
型
iklwldmw2#
您可以使用PageableDefault注解,即
Controller
方法上的@PageableDefault(page = 1)
,例如:字符串