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