如何在java中只返回一个实例?

我遇到了一个问题,我得到了三个对象而不是一个对象本身。(您可以在下面看到我的架构和输出结果)。我需要做的就是返回一个对象映射器列表,它可以将集合转换为数组。在我的控制器中,这是“public @ResponseBody List”的原因,请帮助我让它像我的模式一样打印。感谢您的帮助..!


控制器:


@RestController

public class AutoCompleteController {


    private AutoCompleteService autoCompleteService;

    private EntityManager em;


    public AutoCompleteController(AutoCompleteService autoCompleteService, EntityManager em){

        this.autoCompleteService = autoCompleteService;

        this.em = em;

    }


    @RequestMapping(value = "jobs", method = RequestMethod.GET)

    public @ResponseBody List<AutoComplete> getSalary(@RequestParam(value = "autocomplete") String autocompleteValue) {

      return autoCompleteService.retrieveSalary(autocompleteValue);

    }


    public void getAllSalaries(HttpServletResponse res) {

        Stream<AutoComplete> stream = autoCompleteService.retrieveAllSalaries();

        DataStreamUtility.streamObjects(stream, res, em);

    }


    @RequestMapping(value = "/jobs")

    public @ResponseBody List < AutoComplete > getSalary(@RequestParam(value = "autocomplete", defaultValue = "1400") String autocompleteValue) {

        return autoCompleteService.retrieveSalary(autocompleteValue);

     }


    public void getAllSalaries(HttpServletResponse res) {

      Stream < AutoComplete > stream = autoCompleteService.retrieveAllSalaries();

      DataStreamUtility.streamObjects(stream, res, em);

    }

}


慕后森
浏览 84回答 3
3回答

呼啦一阵风

如果我正确理解了您的意图,这里的问题是您正在检索您只需要一个实体的实体列表。autocompleteRepository.findByJobClassCdStartsWith(jobClassCd);简而言之:“神奇的”findByXXX 方法返回一个列表或单个实体;您应该改用 findOneByXXXX 来澄清。查看此答案以获取更多信息,我认为解释得很好:&nbsp;Difference between findBy and findOneBy in Spring data JPA

蓝山帝景

而不是列表返回单个对象&nbsp;&nbsp;public&nbsp;@ResponseBody&nbsp;AutoComplete&nbsp;getSalary();

慕少森

在您的一条评论中,您说my rateType it just only prints "annual" ...&nbsp; the other hourly and weekly rate types does not return。您是否有机会创建 3 个具有相同 ID 但不同 rateTypes 的对象?在我看来,您需要将费率分别设为一个数组。public String[] rateAnnual;public String[] rateBiweekly;public String[] Hourly;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java