-
Notifications
You must be signed in to change notification settings - Fork 0
/
GoodResource.java
62 lines (51 loc) · 1.85 KB
/
GoodResource.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package com.wepay.business.resource;
import com.wepay.business.model.Good;
import com.wepay.business.repo.GoodRepository;
import com.wepay.business.resource.storage.StorageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import java.util.List;
import java.util.Optional;
@CrossOrigin
@RestController
@RequestMapping("/api")
public class GoodResource {
@Autowired
private GoodRepository repository;
private final StorageService storageService;
public GoodResource(StorageService storageService) {
this.storageService = storageService;
}
@GetMapping("/getGood")
public List<Good> getAllGoods() {
return repository.findAll();
}
@GetMapping(path = "/goodDetail/{id}")
public Optional<Good> getGood(@PathVariable Long id) {
return repository.findById(id);
}
@PostMapping(path = "/update/{id}", consumes = "application/json", produces = "application/json")
public Good updateGood(@PathVariable Long id, @RequestBody Good good) {
Optional<Good> oldGood = repository.findById(id);
if (oldGood.isPresent()) {
repository.save(good);
}
return good;
}
@PostMapping(path = "/deleteGood/{id}")
public void deleteGood(@PathVariable Long id) {
repository.deleteById(id);
}
@PostMapping(path = "/img")
public String uploadImg(@RequestParam("file") MultipartFile file, RedirectAttributes redirectAttributes) {
String fileName = storageService.store(file);
redirectAttributes.addFlashAttribute("message", "You successfully uploaded" + file.getOriginalFilename() + "!");
return fileName;
}
@PostMapping(path = "/upload")
public Good upload(@RequestBody Good good) {
return repository.save(good);
}
}