gpt4 book ai didi

java - Json 返回 3 个对象,而不是 java 中的一个?

转载 作者:行者123 更新时间:2023-12-02 03:18:45 25 4
gpt4 key购买 nike

我有一个 REST 端点,我调用它来请求一些数据,但它在 JSON 响应中返回同一对象三次,而不是只返回不同的结果。

这是我得到的回复:

[
{
"id": "5555 ",
"label": "MAIN USER (5555) "
},
{
"id": "5555 ",
"label": "MAIN USER (5555) "
},
{
"id": "5555 ",
"label": "MAIN USER (5555) "
}
]

这是用于生成 JSON 响应的 Controller :

@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);
}
}

Controller 依次调用AutoCompleteService:

@Service
public class AutoCompleteService {
private AutoCompleteRepository autocompleteRepository;

public AutoCompleteService(AutoCompleteRepository autRepo) {
this.autocompleteRepository = autRepo;
}

public List<AutoComplete> retrieveSalary(String jobClassCd) {
List<AutoComplete> salaries = autocompleteRepository.findAllByJobClassCdIsContaining(jobClassCd);
if (salaries.size() <= 0) {
throw new AutoCompleteNotFoundException(jobClassCd);
}
return salaries;
}
}

最佳答案

只需确保您的方法 autoCompleteService.retrieveSalary 仅返回 1 个结果,根据您的过滤器检查您的数据库是否存在具有相同内容的多行。如果你总是想要 1 个结果,那么让你的返回一个对象,而不是 List<>。

关于java - Json 返回 3 个对象,而不是 java 中的一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56942521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com