From a8025721281c69df44a5225cb429e911f157d723 Mon Sep 17 00:00:00 2001 From: guqing <38999863+guqing@users.noreply.github.com> Date: Sat, 4 Dec 2021 15:58:10 +0800 Subject: [PATCH] feat: add a batch creation api for photos (#1564) * feat: add an api of batch creation photos * feat: add an api verification --- .../app/controller/admin/api/PhotoController.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/main/java/run/halo/app/controller/admin/api/PhotoController.java b/src/main/java/run/halo/app/controller/admin/api/PhotoController.java index 20f49d00b..4ff968ce0 100644 --- a/src/main/java/run/halo/app/controller/admin/api/PhotoController.java +++ b/src/main/java/run/halo/app/controller/admin/api/PhotoController.java @@ -4,12 +4,14 @@ import static org.springframework.data.domain.Sort.Direction.DESC; import io.swagger.annotations.ApiOperation; import java.util.List; +import java.util.stream.Collectors; import javax.validation.Valid; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.data.web.PageableDefault; import org.springframework.data.web.SortDefault; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -32,6 +34,7 @@ import run.halo.app.service.PhotoService; * @author ryanwang * @date 2019-03-21 */ +@Validated @RestController @RequestMapping("/api/admin/photos") public class PhotoController { @@ -75,6 +78,18 @@ public class PhotoController { return new PhotoDTO().convertFrom(photoService.createBy(photoParam)); } + @PostMapping("/batch") + @ApiOperation("Batch creation photos") + public List createBatchBy(@RequestBody List<@Valid PhotoParam> photoParams) { + return photoParams.stream() + .map(photoParam -> { + PhotoDTO photoDto = new PhotoDTO(); + photoDto.convertFrom(photoService.createBy(photoParam)); + return photoDto; + }) + .collect(Collectors.toList()); + } + @PutMapping("{photoId:\\d+}") @ApiOperation("Updates a photo") public PhotoDTO updateBy(@PathVariable("photoId") Integer photoId,