본문 바로가기
스프링 관련/스프링 프레임워크

API 만들 때

by 문자메일 2022. 4. 4.

api를 만들 때는 항상 entity를 파라메타로 받게 구현하지 않는다. entity를 외부에 노출해서도 안된다.

케이스별 dto를 만들어서 사용한다.

 

아래 예시 코드처럼 Response를 구현한다.

 

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


    return new Result<List<MemberDto>>(collect.size(), collect);
}

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

@Data
@AllArgsConstructor
static class MemberDto{
    private String name;
}

댓글