如何在Spring Boot中将数据传输对象转换为Model?

时间:2019-06-19 16:09:04

标签: java spring spring-boot spring-mvc jpa

我是Java Spring Boot的新手,所以我需要实现越来越多的文章,我拥有DTO(数据传输对象)以将其转换为Model并使用modelMapper软件包将Model转换为DTO,但是我遇到了一些错误,表明modelmapper无法正常工作在我的DTO json上,也许我做错了

这是json:

{
  "contacts": [
    {
      "profile": {
        "name": "Test Satu"
      },
      "wa_id": "16315551234"
    }
  ],
  "messages": [
    {
      "from": "16315551234",
      "id": "ABGGFlA5FpafAgo6tHcNmNjXmuSf",
      "timestamp": "1518694235",
      "text": {
        "body": "Hello this is an answer"
      },
      "type": "text"
    }
  ]
}

这是我的DTO:

package com.nostratech.project.vo.kataWhatsapp;

import com.nostratech.project.vo.BaseVO;
import lombok.Data;

import java.util.List;


@Data
public class WAContactsAndMessagesVO extends BaseVO {
    private List<WAidAndProfileVO> contacts;
    private List<WAinnerMessagesVO> messages;
}

我在@Service的@Autowire上使用modelmapper 像这样:

public List<WAContactsAndMessagesVO> getAll(String query) {
        List<WAContactsAndMessagesVO> finalResults = new ArrayList<>();

        List<WhatsappChat> resultPerKey = (List<WhatsappChat>) whatsappChatRepository.findByNameLikeOrWhatsappidLikeOrTextLikeOrMessageidLike(query, query, query, query);
        for( WhatsappChat data: resultPerKey) {
            WAContactsAndMessagesVO result = modelMapper.map(resultPerKey, WAContactsAndMessagesVO.class);
            finalResults.add(result);
        }

        return finalResults;
    }

我为此使用了错误的方式来使用modelMapper吗? 我正在使用Java 1.8,也许我的spring boot项目不是2

0 个答案:

没有答案