본문 바로가기
Project

[stock] 회사 조회

by sangyunpark 2023. 9. 15.

CompanyController

@GetMapping // 회사 리스트 조회
    public ResponseEntity<?> searchCompany(final Pageable pageable){
        // final 키워드로 임의 변환 방지
        // Pagination 요청 정보를 담기위한 추상 인터페이스

        Page<CompanyEntity> companies = companyService.getAllCompany(pageable);
        // 회사명은 전부 다 가져와야 하는가?
        // 가져와야하는 데이터가 클수록 네트워크 대역푝 증가
        // client 단에서 한번에 보여줄 수 있는 아이템의 갯수는 정해져 있다!
        // paging 사용

        return ResponseEntity.ok(companies);
    }

Pageable을 사용하면 쿼리 스트링을 사용해서 pagination을 쉽게 할 수 있다.

 

CompanyService

 public Page<CompanyEntity> getAllCompany(Pageable pageable){ // return 타입이 page이다.
        return this.companyRepository.findAll(pageable); // JPA repository에서 findall을 구현해준다.
    }

findAll에 pageable 값을 넘겨주면 반환값이 List<CompanyEntitiy>가 아닌 Page<CompanyEntitiy>가 된다.

 

 

요청을 보내보자!

이런식으로 pagealbe에 관한 데이터도 json형태로 같이 날라온다.

page와 size를 사용해서 pagination도 할 수 있다.

'Project' 카테고리의 다른 글

[stock] 자동완성  (0) 2023.09.18
[stock] 회사 배당금 조회  (0) 2023.09.15
[stock] 배당금 저장  (0) 2023.09.15
[stock] 배당금 저장하기(1)  (0) 2023.09.11
[stock] Entity 작성  (0) 2023.09.11