9
9
import lombok .RequiredArgsConstructor ;
10
10
import lombok .experimental .FieldDefaults ;
11
11
import org .springframework .http .ResponseEntity ;
12
- import org .springframework .web .bind .annotation .*;
12
+ import org .springframework .web .bind .annotation .CrossOrigin ;
13
+ import org .springframework .web .bind .annotation .RequestBody ;
14
+ import org .springframework .web .bind .annotation .RestController ;
13
15
import org .springframework .web .servlet .mvc .method .annotation .MvcUriComponentsBuilder ;
14
16
import org .zalando .problem .Problem ;
15
17
import org .zalando .problem .Status ;
16
- import org .zalando .problem .StatusType ;
17
18
18
19
import javax .validation .Valid ;
20
+ import javax .validation .constraints .Max ;
19
21
import java .util .List ;
20
- import java .util .Optional ;
21
22
import java .util .concurrent .atomic .AtomicInteger ;
22
23
import java .util .stream .Collectors ;
23
24
@@ -33,6 +34,8 @@ public class PetsApiController implements PetsApi {
33
34
34
35
AtomicInteger i = new AtomicInteger ();
35
36
37
+ //https://github.com/spring-projects/spring-framework/issues/15682
38
+ //5.1でsuper classのアノテーション見てくれるようになった模様 @RequestBody はなくてもよい
36
39
@ Override
37
40
public ResponseEntity <Void > createPets2 (@ Valid @ RequestBody final NewPet newPet ) {
38
41
final Pets pet = petsRepository .save (petMapper .newPetToPets (newPet ));
@@ -42,6 +45,11 @@ public ResponseEntity<Void> createPets2(@Valid @RequestBody final NewPet newPet)
42
45
.build ();
43
46
}
44
47
48
+ @ Override
49
+ public ResponseEntity <List <Pet >> listPets (@ Max (100 ) @ Valid final Integer limit ) {
50
+ return ResponseEntity .ok (petsRepository .findAll ().stream ().map (petMapper ::petsToPet ).collect (Collectors .toList ()));
51
+ }
52
+
45
53
@ Override
46
54
public ResponseEntity <Void > createPets () {
47
55
final Pets entity = new Pets ();
@@ -53,21 +61,14 @@ public ResponseEntity<Void> createPets() {
53
61
.build ();
54
62
}
55
63
56
- @ Override
57
- public ResponseEntity <List <Pet >> listPets (
58
- @ Valid @ RequestParam (value = "limit" , required = false ) final Integer limit ) {
59
- return ResponseEntity .ok (petsRepository .findAll ().stream ().map (petMapper ::petsToPet ).collect (Collectors .toList ()));
60
-
61
- }
62
64
63
65
@ Override
64
- public ResponseEntity <List <Pet >> showPetById (
65
- @ PathVariable ("petId" ) final String petId ) {
66
+ public ResponseEntity <List <Pet >> showPetById (final String petId ) {
66
67
final List <Pets > pets = petsRepository .findByName (petId );
67
68
68
- if (!pets .isEmpty ()){
69
+ if (!pets .isEmpty ()) {
69
70
return ResponseEntity .ok (pets .stream ().map (petMapper ::petsToPet ).collect (Collectors .toList ()));
70
- }else {
71
+ } else {
71
72
throw Problem .valueOf (Status .NOT_FOUND );
72
73
}
73
74
}
0 commit comments