出现一个我返回三个json对象的问题。无论如何,我要做的就是将其作为一个JSON对象返回。与下面的我的结果类似。因此,我试图显示我的控制器-我相信它在我的控制器中将返回3个对象而不是一个对象。感谢您的帮助。
这是我的代码:
我尝试这样做:
@RequestMapping(value = "all", method = RequestMethod.GET)
public @ResponseBody
MyAutoComplete getMoney(@RequestParam(value = "myautocomplete") String myautocompleteValue) {
List<MyAutoComplete> list = myautoCompleteService.gettingMoney(myautocompleteValue);
return merge(list);
}
MyAutoComplete merge(List<MyAutoComplete> list){
MyAutoComplete accountacy = list.get(0);
for (int i = 1; i < list.size(); i++) {
MyAutoComplete myautoComplete = list.get(i);
if (myautoComplete.getTimeAnnual() != null) {
accountacy.setTimeAnnual((autoComplete.getTimeAnnual(());
}
if (autoComplete.getTimeBiweekly() != null) {
accountacy.setTimeBiweekly(autoComplete.getTimeBiweekly());
}
if (autoComplete.getTimeHourly() != null) {
accountacy.setTimeHourly(autoComplete.getTimeHourly());
}
}
return accountacy;
}
答案 0 :(得分:1)
如果无法在存储库侧更改查询,则可以将列表中的对象合并为控制器中的单个对象
public @ResponseBody
LIst<AutoComplete> getSalary(@RequestParam(value = "autocomplete") String autocompleteValue) {
List<AutoComplete> list = autoCompleteService.retrieveSalary(autocompleteValue);
return Arrays.asList(merge(list));
}
AutoComplete merge(List<AutoComplete> list){
AutoComplete acc = list.get(0);
for (int i = 1; i < list.size(); i++) {
AutoComplete autoComplete = list.get(i);
if (autoComplete.getAnnual() != null) {
acc.setAnnual(autoComplete.getAnnual());
}
if (autoComplete.getBiweekly() != null) {
acc.setBiweekly(autoComplete.getBiweekly());
}
if (autoComplete.getHourly() != null) {
acc.setHourly(autoComplete.getHourly());
}
}
return acc;
}
答案 1 :(得分:0)
我只是在github上看到您的代码,但是关键代码不存在。现在我要说我想的。 此代码中可能会发生问题。
@Repository
public interface AutoCompleteRepository extends CrudRepository<AutoComplete, String> {
@Query("select e from AutoComplete e where e.jobClassCd like %:jobClassCd%")
public Stream<AutoComplete> streamAll();
List<AutoComplete> findByJobClassCdStartsWith(String jobClassCd);
}
在方法fingByJobClassCdStartsWith(String jobClassCd)中,我认为当您从 数据库中,您将获得三条记录,并且可以将其手动合并为一个对象。
或 您可以通过编辑问题在此处放置不可见的代码。