весна mvc отдых монго - PullRequest
1 голос
/ 24 июня 2011

Я хочу создать пружинный вызов rest mvc, и ответ должен быть результатом DBObject mongo db (Basic). DBObject, насколько я знаю, является объектом JSON. Можно ли вернуть эти объекты или я должен вернуть их нормальное содержимое строки?

это решение, которое у меня есть до сих пор:

@RequestMapping(value = "/content/json/{ids}", method = RequestMethod.GET)
public ResponseEntity<String> getContentByIdsAsJSON(@PathVariable("ids") String ids)
{
  String content = null;
  StringBuilder builder = new StringBuilder();
  HttpHeaders responseHeaders = new HttpHeaders();
  responseHeaders.add("Content-Type", "text/html; charset=utf-8");

  List<String> list = this.contentService.findContentByListingIdAsJSON(ids);
  if (list.isEmpty())
  {
     content = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><error>no data found</error>";
     return new ResponseEntity<String>(content, responseHeaders, HttpStatus.CREATED);
  }
  for (String json : list)
  {
     builder.append(json + "\n");
  }
  content = builder.toString();
  return new ResponseEntity<String>(content, responseHeaders, HttpStatus.CREATED);
}

Кто-нибудь есть лучшее решение для этого требования?

спасибо очень заранее. симон

1 Ответ

0 голосов
/ 15 декабря 2012

Я вижу странную вещь в вашем коде. Вы должны вернуть JSON или XML? Если вы должны вернуть json, это просто в вашей ситуации, @ResponseBody делает магию

@RequestMapping(value = "/content/json/{ids}", method = RequestMethod.GET)
@ResponseBody
public MyGreatContentObject getContentByIdsAsJSON(@PathVariable("ids") String ids) {
   return this.contentService.findContentByListingId(ids);
}

В любом случае, я думаю, что вы все еще должны изучить базовые понятия немного больше

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...