Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 三物合一?_Java_Spring Boot - Fatal编程技术网

Java 三物合一?

Java 三物合一?,java,spring-boot,Java,Spring Boot,接下来我将返回三个json对象。无论如何,我只想作为一个JSON对象返回。类似于我下面的结果。所以,我试图展示我的控制器-我相信它在我的控制器中返回3个对象,而不是一个。谢谢你的帮助 这是我的密码: 我试着这样做: @RequestMapping(value = "all", method = RequestMethod.GET) public @ResponseBody MyAutoComplete getMoney(@RequestParam(value = "myautoc

接下来我将返回三个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;
}
@RequestMapping(value=“all”,method=RequestMethod.GET)
公共@ResponseBody
MyAutoComplete getMoney(@RequestParam(value=“MyAutoComplete”)字符串myautocompleteValue){
List List=myautoCompleteService.gettingMoney(myautocompletesvalue);
返回合并(列表);
}
MyAutoComplete合并(列表){
MyAutoComplete accountacy=list.get(0);
对于(int i=1;i
我只是在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);

}
@存储库
公共接口自动完成存储扩展了CRUDEPository{
@查询(“从自动完成e中选择e,其中e.jobClassCd like%:jobClassCd%”)
公共流streamAll();
列出FindByJobClassCdStartWith(字符串jobClassCd);
}
在fingByJobClassCdStartsWith(字符串jobClassCd)方法中,我认为当您从 在数据库中,您可以获得三条记录,并可以手动将其合并到一个对象中


您可以通过编辑您的问题将不可见的代码放在这里。

如果您无法更改存储库端的查询,您可以将列表中的对象合并为控制器中的单个对象

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;
}
public@ResponseBody
列出getSalary(@RequestParam(value=“autocomplete”)字符串autocompleteValue){
List List=autoCompleteService.retrieveSalary(autocompletesvalue);
返回数组.asList(merge(list));
}
自动完成合并(列表){
自动完成acc=list.get(0);
对于(int i=1;i
您在此处找到的源代码是最新的?您是如何绑定此属性的(每小时、每两周、每年)第一种情况是JSON?是的。我得到了三条记录。因此,通过使用
它将使其工作?你说每小时、每两周、每年都是名为rate_type的列的值。如果你能在sql语句中做些更改,它将工作。就像group_concat(rate_type)一样作为rate\u type…按id分组可以轻松地制作一条记录,其他的都是一样的。你能用我的
@Query
语句向我展示一下如何
分组(rate\u type)
会起作用吗?因此,你说用流代替?我说如果你可以修改查询sql并更改返回记录的计数,ohters将不需要更改。例如,
选择e,group\u concat(rate\u type)as rate_type from AutoComplete e,其中e.jobClassCd like%:jobClassCd%group by id
将返回一个记录group by id或您使用的其他唯一字段。如果您不能这样做,您可以编写一些代码来删除重复项,并将其合并到服务代码中的一个obejct中。@sidgate不是这一行
AutoComplete acc=list.get(0)
仅获取第一行?我如何获取以json格式显示的每两周和每年的数据?!您的问题提到要将所有数据分组到一个结果中没有。我显示了一个示例。请检查
我想这样返回:
我的问题中的模式。谢谢!您现在得到了什么?仅每小时一次,这是索引0.(数据库中的第一行)