OO&Java

이 코드가 뭘 나타낼까?

찐빵1 2024. 1. 3. 17:14
@RequiredArgsConstructor
public class AdminAPIEpisodeController {

    private final EpisodeAdminService episodeAdminService;
    
    @GetMapping("/searchByQuery")
    public ResponseEntity<?> searchByQuery(@RequestParam String query,
                                           @ModelAttribute("setting") AppSetting setting) {

        List<Episode> list = episodeAdminService.searchByQuery(query);

        if (list.isEmpty()) {
            return ResponseEntity.badRequest().build();
        } else {
            return ResponseEntity.ok(list.stream().map(item -> {

                AutocompleteAjax<SearchEpisodeResBody> aa = new AutocompleteAjax<>();
                SearchEpisodeResBody resBody = SearchEpisodeResBody.builder().build();
                resBody.setComponent(item);
                aa.setData(resBody);
                aa.setValue("[ID. " + resBody.getId() + "]");

                return aa;
            }).collect(Collectors.toList()));
        }
    }

}

 

사실 강조하고 싶은 부분은, 

private final EpisodeAdminService episodeAdminService;

 

이 코드이다. 

이 코드에 별도의 처리 없이,

 

List<Episode> list = episodeAdminService.searchByQuery(query);

 

를 사용했다.