controller通过map返回减少dto类的创建

Posted mzdljgz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了controller通过map返回减少dto类的创建相关的知识,希望对你有一定的参考价值。

更多精彩关注公众号

技术图片

原代码: 创建Dto给前端返值

    @PostMapping({"/question/choice"})
    public ResponseEntity findExercises(@RequestBody @NotEmpty(message = "{exercises.id.NotEmpty.message}") List<String> cmd5s) {
        List<ChoiceQuestion> contentMd5s = service.findAllByContentMd5In(cmd5s);
        List<ChoiceRtnDto> repetitions = contentMd5s
                .stream()
                .map(e -> new ChoiceRtnDto(e.getContentMd5(), e.getTitle(), e.getPid()))
                .collect(Collectors.toList());
        return ResponseEntity.status(HttpStatus.ALREADY_REPORTED).body(repetitions);
    }

更改后:


@PostMapping({"/question/choice"})
    public ResponseEntity findExercises(@RequestBody @NotEmpty(message = "{exercises.id.NotEmpty.message}") List<String> md5List) {
        List<Map<String, String>> repetitiveQuestions = new ArrayList<>();
        service.findAllByContentMd5In(md5List).forEach(e -> {
            Map<String, String> map = new HashMap<>();
            map.put("md5", e.getContentMd5());
            map.put("name", e.getTitle());
            map.put("pid", e.getPid());
            repetitiveQuestions.add(map);
        });
        return ResponseEntity.status(HttpStatus.ALREADY_REPORTED).body(repetitiveQuestions);
    }
    

以上是关于controller通过map返回减少dto类的创建的主要内容,如果未能解决你的问题,请参考以下文章

WCF/服务层/存储库层:从服务层返回 DTO?并从返回的 DTO 在 Controller 中创建 ViewModel

当断言函数返回预期的 DTO 对象时,如何在 DTO 对象类的 getter 上获得 100% 的测试覆盖率?

DTO 中返回 Enum 类的通用写法

Spring Boot Mvc 统一返回结果

定义统一的返回格式(controller)

springboot+mybatis+swagger实现的Demo