Как вернуть правильный JSON в JAVA

Если вы не хотите использовать глобальный объект, например window или global (node), вы можете попробовать что-то вроде этого:

var obj = {};
obj['whatever'] = 'There\'s no need to store even more stuff in a global object.';

console.log(obj['whatever']);
1
задан Ondřej Xicht Světlík 16 January 2019 в 16:17
поделиться

2 ответа

Не используйте JSONObject для отображения в JSON и не читайте String напрямую. Создайте новый класс POJO для ответа и позвольте RestTemplate сделать работу. Внутренне Spring будет использовать подходящий конвертер для отображения объектов:

public class Item {
  int id;
  String name;
  String description;
  // other fields
  // getters and setters
}

Item result = restTemplate.getForObject(uri, Item.class);

Ваш метод контроллера также должен возвращать Item, а не String:

@GetMapping"/cartitems")
public List<Item> getItemsInCart(@RequestParam("buyerId") Integer buyerId) { 
   // ...
}
0
ответ дан Karol Dowbecki 16 January 2019 в 16:17
поделиться

Добавьте @ResponseBody к вашему методу обработчика запросов или аннотируйте свой контроллер как @RestController.

Убедитесь, что у вас есть jackson конвертер на вашем пути к классам. Вы можете следовать этому руководству - https://www.journaldev.com/2552/spring-rest-example-tutorial-spring-restful-web-services

0
ответ дан shakhawat 16 January 2019 в 16:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: