spring data jpa : web extension - domain class converter, paging, sort
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
package com.example.springdatajpa.controller;
|
||||
|
||||
import com.example.springdatajpa.dto.MemberDto;
|
||||
import com.example.springdatajpa.entity.Member;
|
||||
import com.example.springdatajpa.repository.MemberRepository;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.web.PageableDefault;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
public class MemberController {
|
||||
|
||||
private final MemberRepository memberRepository;
|
||||
|
||||
@GetMapping("/members/{id}")
|
||||
public String findMember(@PathVariable("id") Long id) {
|
||||
Member member = memberRepository.findById(id).get();
|
||||
return member.getUsername();
|
||||
}
|
||||
|
||||
@GetMapping("/members2/{id}")
|
||||
public String findMember2(@PathVariable("id") Member member) {
|
||||
return member.getUsername();
|
||||
}
|
||||
|
||||
// http://localhost:8080/members?page=1&size=3&sort=age,desc 사용 가능
|
||||
@GetMapping("/members")
|
||||
public Page<MemberDto> list(@PageableDefault(size = 5, sort = "username") Pageable pageable) {
|
||||
return memberRepository.findAll(pageable).map(MemberDto::new);
|
||||
}
|
||||
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
for (int i = 0; i < 100; i++) {
|
||||
memberRepository.save(new Member("member" + i, i));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.example.springdatajpa.dto;
|
||||
|
||||
import com.example.springdatajpa.entity.Member;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
|
||||
@@ -10,4 +11,9 @@ public class MemberDto {
|
||||
private Long id;
|
||||
private String username;
|
||||
private String teamName;
|
||||
|
||||
public MemberDto(Member member) {
|
||||
this.id = member.getId();
|
||||
this.username = member.getUsername();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,12 @@ spring:
|
||||
hibernate:
|
||||
# show_sql: true
|
||||
format_sql: true
|
||||
data:
|
||||
web:
|
||||
pageable:
|
||||
default-page-size: 10
|
||||
max-page-size: 2000
|
||||
# one-indexed-parameters: true
|
||||
|
||||
logging.level:
|
||||
org.hibernate.SQL: debug
|
||||
|
||||
Reference in New Issue
Block a user