根据warning修改为pagedModel

This commit is contained in:
高子兴 2024-07-03 13:02:32 +08:00
parent 3579f93c0d
commit 64d7ae8c59
2 changed files with 16 additions and 4 deletions

View File

@ -5,7 +5,7 @@ import org.cmh.backend.NewsManagement.model.News;
import org.cmh.backend.NewsManagement.service.NewsService;
import org.cmh.backend.Utils.JwtVerify;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.hateoas.PagedModel;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
@ -21,7 +21,7 @@ public class NewsController {
@GetMapping("/getNewsPage")
@JwtVerify
public ResponseEntity<Page<News>> getNewsPage(@RequestBody GetNewsByPageRequest request) {
public ResponseEntity<PagedModel<News>> getNewsPage(@RequestBody GetNewsByPageRequest request) {
return new ResponseEntity<>(newsService.getNewsByPage(request), HttpStatus.OK);
}

View File

@ -7,6 +7,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.hateoas.PagedModel;
import org.springframework.stereotype.Service;
@Service
@ -14,7 +15,7 @@ public class NewsService {
@Autowired
private NewsRepository newsRepository;
public Page<News> getNewsByPage(GetNewsByPageRequest request) {
public PagedModel<News> getNewsByPage(GetNewsByPageRequest request) {
int pageNo = request.getPageNo();
int pageSize = request.getPageSize();
if (pageNo < 1) {
@ -24,6 +25,17 @@ public class NewsService {
pageSize = 10;
}
Pageable pageable = PageRequest.of(pageNo - 1, pageSize);
return newsRepository.findAllByOrderByIdDesc(pageable);
Page<News> newsPage = newsRepository.findAllByOrderByIdDesc(pageable);
return toPagedModel(newsPage);
}
private PagedModel<News> toPagedModel(Page<News> page) {
PagedModel.PageMetadata pageMetadata = new PagedModel.PageMetadata(
page.getSize(),
page.getNumber(),
page.getTotalElements(),
page.getTotalPages()
);
return PagedModel.of(page.getContent(), pageMetadata);
}
}