Sangwon Coding
Spring Boot - 페이징 처리 본문
UserApiController.java
package com.example.study.controller.api;
import com.example.study.ifs.CrudInterface;
import com.example.study.model.network.Header;
import com.example.study.model.network.request.UserApiRequest;
import com.example.study.model.network.response.UserApiResponse;
import com.example.study.model.network.response.UserOrderInfoApiResponse;
import com.example.study.service.UserApiLogicService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.web.PageableDefault;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Slf4j
@RestController
@RequestMapping("/api/user")
public class UserApiController implements CrudInterface<UserApiRequest, UserApiResponse> {
@Autowired
private UserApiLogicService userApiLogicService;
@GetMapping("/{id}/orderInfo")
public Header<UserOrderInfoApiResponse> orderInfo(@PathVariable Long id){
return userApiLogicService.orderInfo(id);
}
@Override
@PostMapping("") // /api/user
public Header<UserApiResponse> create(@RequestBody Header<UserApiRequest> request) {
log.info("{}",request);
return userApiLogicService.create(request);
}
@Override
@GetMapping("{id}") // /api/user/{id}
public Header<UserApiResponse> read(@PathVariable(name = "id") Long id) {
log.info("read id : {}",id);
return userApiLogicService.read(id);
}
@Override
@PutMapping("") // /api/user
public Header<UserApiResponse> update(@RequestBody Header<UserApiRequest> request) {
return userApiLogicService.update(request);
}
@Override
@DeleteMapping("{id}") // /api/user/{id}
public Header delete(@PathVariable Long id) {
log.info("delete : {}",id);
return userApiLogicService.delete(id);
}
@GetMapping("") // 페이징 처리
public Header<List<UserApiResponse>> findAll(@PageableDefault(sort = { "id" }, direction = Sort.Direction.ASC)Pageable pageable){
log.info("{}",pageable);
return userApiLogicService.search(pageable);
}
}


페이징 처리를 끝으로 스프링 부트 어드민 페이지 과정을 마치겠습니다!
'Spring > Spring Boot (어드민 페이지)' 카테고리의 다른 글
Spring Boot - 샘플 데이터 생성 (0) | 2020.01.01 |
---|---|
Spring Boot - 추상화 코드 적용 (0) | 2020.01.01 |
Spring Boot - JPA Enum 형태의 값 관리 (0) | 2020.01.01 |
Spring Boot - 주문내역 API CRUD (0) | 2020.01.01 |
Spring Boot - 상품 API CRUD (0) | 2020.01.01 |
Comments