使用spring boot写一个商品上传且多图片的接口
时间: 2023-04-12 21:00:38 浏览: 159
好的,以下是使用 Spring Boot 编写商品上传且多图片的接口的示例代码:
```java
@RestController
@RequestMapping("/api/products")
public class ProductController {
@Autowired
private ProductService productService;
@PostMapping("/upload")
public ResponseEntity<?> uploadProduct(@RequestParam("name") String name,
@RequestParam("description") String description,
@RequestParam("price") BigDecimal price,
@RequestParam("images") MultipartFile[] images) {
try {
Product product = new Product();
product.setName(name);
product.setDescription(description);
product.setPrice(price);
List<Image> imageList = new ArrayList<>();
for (MultipartFile image : images) {
Image img = new Image();
img.setName(image.getOriginalFilename());
img.setType(image.getContentType());
img.setData(image.getBytes());
imageList.add(img);
}
product.setImages(imageList);
productService.saveProduct(product);
return ResponseEntity.ok().build();
} catch (Exception e) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
}
}
}
```
这个接口使用了 `@RequestParam` 注解来接收请求参数,其中 `images` 参数是一个数组,用来接收多个图片文件。在方法体内,我们将接收到的参数封装成一个 `Product` 对象,并调用 `ProductService` 的 `saveProduct` 方法来保存商品信息和图片信息。
阅读全文