Я видел пару других вопросов такого рода, но они не совсем соответствовали счету.Ошибка 406 при попытке получить JSON с конечной точки
В настоящее время я пытаюсь вернуть JSON из двух разных контроллеров. В одном из моих контроллеров он работает без проблем, но когда я ударяю свою вторую конечную точку, я получаю ошибку 406, и я не могу понять, что не так. Вот действие контроллера:
@RequestMapping("/v1/companies/name/{companyName}")
public @ResponseBody ResultsList<CompanyResult> getCompaniesByName(@PathVariable("companyName") String companyName) {
if (StringUtils.isEmpty(companyName)) {
throw new HttpMessageNotReadableException("blah");
}
ResultsList<CompanyResult> results = companySearchService.getCompaniesByName(companyName);
return results;
}
Вот модель я пытаюсь вернуться:
public class ResultsList<T> {
@XmlElement(name = "results")
private ArrayList<T> results;
public int resultCount() {
return this.results.size();
}
public void addResult(T result) {
this.results.add(result);
}
public ResultsList() {
this.results = new ArrayList<T>();
}
}
Как вы можете видеть из кода контроллера, мой ResultsList состоит из объектов CompanyResult:
public class CompanyResult implements ICompany {
@XmlElement(name = "companyName")
private String companyName;
@XmlElement(name = "symbol")
private String symbol;
@XmlElement(name = "city")
private String city;
@XmlElement(name = "state")
private String state;
......
Итак, мой контроллер возвращает @RequestBody ResultsList, который аннотируется с помощью @XmlElement, а объекты, содержащиеся в списке, также аннотируются с помощью @XmlElement. Это то, что я должен был сделать, чтобы заставить другой сценарий работать. Но это не удается. Может ли кто-нибудь сказать мне, почему?
Благодарим вас за ответ, но я смущен вашим ответом. Мой запрос GET (с помощью jQuery.get()) запрашивает JSON. Я предположил, что мой контроллер будет также возвращать JSON. Ваш комментарий подразумевает, что мой контроллер возвращает xml. Мой другой контроллер возвращает JSON без явного указания сделать это, поэтому я не знаю, почему этот контроллер будет другим. – Samo
Вы пробовали просить XML и видите, изменился ли код ответа? –
Также вы можете разместить свой конфигурационный файл Spring? –