как зацикливание DTO в массиве, чтобы получить результат arrayList? - PullRequest
0 голосов
/ 21 июня 2019

Я новичок в Java и Spring
как зациклить / получить результат для этого

[
  WhatsappContatcsDTO(whatsappid = 11111111111, name = John Dee), 
  WhatsappContatcsDTO(whatsappid = 16315551234, name = Kerry Fisher)
]

потому что я получаю этот результат из запроса jpa через @Query?
я хотел бы получить результат объекта из этих результатов запроса

Мне нравится получать результат здесь, когда я нажимаю на свой сервер:

[
 { name: "John Dee", whatsappid: "11111111111"},
 { name: "Kerry Fisher", whatsappid: "16315551234"} 
]

это мой сервис:

public List<WhatsappContactVO> allContacts() {
    List<WhatsappContactVO> finalResult = new ArrayList<>();

    List<WhatsappChat> resultPerKey = whatsappChatRepository.findAllContact();
    for(WhatsappChat data: resultPerKey) {
        WhatsappContactVO result = modelMapper.map(resultPerKey, WhatsappContactVO.class);

        finalResult.add(result);
    }

    return finalResult;
}

Ответы [ 3 ]

1 голос
/ 21 июня 2019

Создайте конвертер, который преобразует ваш WhatsappChat в WhatsappContactVO, как показано ниже.

    @Component
    public class WhatsappContactVOConvertor implements Converter<WhatsappContactVO, WhatsappChat> {
    /**
     * {@inheritDoc}
     */
    @Override
    public WhatsappContactVO convert(final WhatsappChat whatsappChat) {
        final WhatsappContactVO whatsappContactVO = new WhatsappContactVO();
        whatsappContactVO.setWhatsappid(whatsappChat.getwhatsappid());
        whatsappContactVO.setName(whatsappChat.getName());

        return whatsappContactVO;
    }
 }

Инициализировать ниже службы конвертации.

@Autowired
private ConversionService mvcConversionService;

Обязательные классы Spring в пакете

org.springframework.core.convert

Теперь вы должны использовать этот mvcConversionService для преобразования вашего WhatsappChat в WhatsappContactVO, как указано ниже

public List<WhatsappContactVO> allContacts() {
    List<WhatsappContactVO> finalResult = new ArrayList<>();

    List<WhatsappChat> resultPerKey = whatsappChatRepository.findAllContact();

      finalResult = resultPerKey.stream().map(result-> mvcConversionService.convert(result, WhatsappContactVO.class))
                        .collect(Collectors.toList());


    return finalResult;
}
0 голосов
/ 21 июня 2019

Вы можете использовать Modelmapper с TypeToken.

List<WhatsappChat> resultPerKey = whatsappChatRepository.findAllContact();

List<WhatsappContactVO> finalResult = new ArrayList<>();

finalResult = new ModelMapper() .map(resultPerKey,new TypeToken<List<WhatsappContactVO> >(){}.getType());

0 голосов
/ 21 июня 2019
 Class A
       {
       private String name;
       private String whatsappid;
       }
       List<WhatsappContatcsDTO> exList=dao.getInformation();
       List<A> newList=exList.stream().map(e->Converter.convert(ex)).collect(Collectors.toList());
String json=DTOToJsonConverter.convertDTOToJsonString(newList);
    public class DTOToJsonConverter 
{
    public static String convertDTOToJsonString(List<A> list) {
        Gson gson = new Gson();
        String json = gson.toJson(list);
        return json;
    }

возвращение JSON из списка DTO

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