v1 안좋은 방법

@GetMapping("/api/v1/members")
public List<Member> membersV1() {
	return memberService.findMembers();
}

추천하는 형태

{
	"count": 4
	"data": []
}
@GetMapping("api/v2/members")
public Result membersV2() {
	List<Member> findMembers = memberService.findMembers();
	List<MemberDTO> members = findMembers.stream()
			.map(m -> new MemberDTO(m.getName()))
			.collect(Collectors.toList());

	return new Result<>(members);
}

@Data
@AllArgsConstructor
private static class Result<T> {
	private T data;
}

@Data
@AllArgsConstructor
private static class MemberDTO {
	private String name;
}
{
    "data": [
        {
            "name": "cmlee3"
        },
        {
            "name": "cmlee"
        },
        {
            "name": "user"
        }
    ]
}

만약 count가 필요하면

@GetMapping("api/v2/members")
public Result membersV2() {
	List<Member> findMembers = memberService.findMembers();
	List<MemberDTO> members = findMembers.stream()
			.map(m -> new MemberDTO(m.getName()))
			.collect(Collectors.toList());

	return new Result<>(/* count 쿼리 값 */, members);
}

@Data
@AllArgsConstructor
private static class Result<T> {
	private int count;
	private T data;
}