【发布时间】:2022-11-28 11:25:59
【问题描述】:
我有两个名为“语言”和“技术”的表。语言由 c#、java 等编程语言组成,技术由 .net、spring 等子技术组成,所以当我想在 api(swagger-ui-get) 中列出语言时,语言会附带它们的子技术。在业务层中,我设置了条件,但语言仍然列出了所有子技术,而不仅仅是它们自己的。请你帮助我好吗 ?
{ “名称”:“C#”, “技术”:[ { “名称”:“.net” }, { “名称”:“反应” }, { “名称”:“视图” }, { “名称”:“春天” } ] } 我的代码:
public List<GetAllLanguageResponse> getAll() { List<ProgrammingLanguage> languages = languageRepository.findAll(); List<GetAllTechnologyResponse> technologyResponse = new ArrayList<GetAllTechnologyResponse>(); List<GetAllLanguageResponse> languageResponse = new ArrayList<GetAllLanguageResponse>(); List<Technology> technologies = techRepository.findAll(); for(ProgrammingLanguage language : languages) { GetAllLanguageResponse languageResponse1 = new GetAllLanguageResponse(); languageResponse1.setName(language.getName()); for (Technology technology : technologies) { GetAllTechnologyResponse technologyResponse1 = new GetAllTechnologyResponse(); if(technology.getLanguage() == language) { technologyResponse1.setName(technology.getName()); technologyResponse.add(technologyResponse1); languageResponse1.setTechnologies(technologyResponse); } } languageResponse.add(languageResponse1); } return languageResponse; }
【问题讨论】:
标签: java spring postgresql spring-boot swagger-ui