Java:如何为流项目添加映射器

我目前有以下控制器方法(只显示相关部分,这有点简化):

    @PostMapping(...)
    ...
    public ResponseEntity<List<PresignedUrlsResponse>> getPresignedUrlBatch(@Valid @RequestBody PresignedUrlsRequest urlsRequest) {

        List<PresignedUrlsResponse> presignedUrlResponses = urlsRequest.getRequests().stream().map(request -> {
            // TODO: put this in it's own mapping
            String url = this.mediaService.getPresignedUrl(request.getObjectId(), request.getBucket());

            PresignedUrlsResponse response = new PresignedUrlsResponse();
            response.setId(request.getId());
            response.setUrl(url);
            return response;
        }).collect(Collectors.toList());

        return ResponseEntity.ok().body(presignedUrlResponses);
    }

正如在TODO中提到的,我想简化这个控制器方法并添加一个映射器。例如,我只习惯于映射来自db调用的请求(在这种情况下,我将获得实体列表),但不会在必须为项列表调用服务方法时进行映射。有没有这方面的最佳实践?

转载请注明出处:http://www.ccclzm.com/article/20230330/1263611.html