Spring MVC serialização personalizada

1 resposta
adrianohardcore

Boa noite , estou tentando serializar para json somente alguns atributos de uma entidade , e estou tentando assim:

@RequestMapping(value = "/records2/{page}", produces = "application/json")
	public @ResponseBody List<Object> records2(@PathVariable Integer page, Model model) {
		Sort sort = new Sort(Direction.DESC, "id");
		Pageable pageRequest = new PageRequest(page - 1, 5, sort);
		Page<Post> posts = postRepository.findAll(pageRequest);		
		Map<String, Object> postMap = new HashMap<String, Object>();		
		List<Object> postList = new ArrayList<Object>();		
		for (Post post : posts.getContent()) {
			postMap.put("id", post.getId());			
			postMap.put("title", post.getTitle());			
			postList.addAll(postMap.values());
		}				
		return postList;
	}

Desta maneira o resultado fica + ou - assim :

[40,"NR-7 PCMSO",1342824604000,41,"NR-8 Edificaçôes",1342824658000,42,"NR-9 PPRA",1342824688000,43,"NR-10 Seg. em Inst. e serv. el",1342824780000,44,"NR-11 Transporte de materiais",1342824823000]

Os dados chegam sem os cabeçalhos “id”,“title” mas com os valores corretos
e se faço:

@RequestMapping(value = "/records2/{page}", produces = "application/json")
	public @ResponseBody List<Object> records2(@PathVariable Integer page, Model model) {
		Sort sort = new Sort(Direction.DESC, "id");
		Pageable pageRequest = new PageRequest(page - 1, 5, sort);
		Page<Post> posts = postRepository.findAll(pageRequest);		
		Map<String, Object> postMap = new HashMap<String, Object>();		
		List<Object> postList = new ArrayList<Object>();		
		for (Post post : posts.getContent()) {
			postMap.put("id", post.getId());			
			postMap.put("title", post.getTitle());
			postMap.put("DataCriacao", post.getDataCriacao());			
			postList.add(postMap);			
		}				
		return postList;
	}

Desta maneira o resultado fica + ou - assim :

[{"id":40,"title":"NR-7 PCMSO","DataCriacao":1342824604000},{"id":40,"title":"NR-7 PCMSO","DataCriacao":1342824604000},{"id":40,"title":"NR-7 PCMSO","DataCriacao":1342824604000},{"id":40,"title":"NR-7 PCMSO","DataCriacao":1342824604000},{"id":40,"title":"NR-7 PCMSO","DataCriacao":1342824604000}]

O formato de saída está correto , mas os valores não ! Alguém teria alguma ideia para me ajudar ?

1 Resposta

adrianohardcore

Por falta de ideias e tempo optei por fazer a serialização personalizado com Dto.A melhor referencia que encontrei http://krams915.blogspot.com.br/2012/01/spring-mvc-31-jqgrid-and-spring-data_8761.html , fica a dica para quem cair aqui !

Criado 22 de julho de 2012
Ultima resposta 28 de jul. de 2012
Respostas 1
Participantes 1