<aside> <img src="https://raw.githubusercontent.com/eirikmadland/notion-icons/master/v5/icon3/ul-github.svg" alt="https://raw.githubusercontent.com/eirikmadland/notion-icons/master/v5/icon3/ul-github.svg" width="40px" /> 참조 Github Code

</aside>

1. 전체 리스트 조회

Response Api에 사용될 DTO 구현

@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class DeveloperDto {
    private DeveloperLevel developerLevel;
    private DeveloperSkillType developerSkillType;
    private String memberId;

    public static DeveloperDto fromEntity(Developer developer) {
        return DeveloperDto.builder()
                .developerLevel(developer.getDeveloperLevel())
                .developerSkillType(developer.getDeveloperSkillType())
                .memberId(developer.getMemberId())
                .build();
    }
}

DMakerControllergetAllDevelopers 메서드 구현

@GetMapping("/developers")
public List<DeveloperDto> getAllDevelopers() {
    log.info("GET /developers HTTP/1.1 ");

    return dmakerService.getAllDevelopers();
}

DMakerServicegetAllDevelopers 메서드 구현

public List<DeveloperDto> getAllDevelopers() {
    return developerRepository.findAll()
            .stream().map(DeveloperDto::fromEntity)
            .collect(Collectors.toList());
}

dev.list.http 구현 및 해당 API(GET) 호출

GET <http://localhost:8080/developers>
Content-Type: application/json;charset=utf-8

스크린샷 2022-03-18 오전 12.01.21.png

2. 특정 Member 정보 조회

<aside> 💡 DeveloperDetailDto 선 구현 필요

</aside>

@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class DeveloperDetailDto {

    private DeveloperLevel developerLevel;
    private DeveloperSkillType developerSkillType;
    private Integer experienceYear;
    private String memberId;
    private String name;
    private Integer age;

    public static DeveloperDetailDto fromEntity(Developer developer) {
        return DeveloperDetailDto.builder()
                .developerSkillType(developer.getDeveloperSkillType())
                .developerLevel(developer.getDeveloperLevel())
                .experienceYear(developer.getExperienceYear())
                .memberId(developer.getMemberId())
                .name(developer.getName())
                .age(developer.getAge())
                .build();
    }
}