Skip to content

Commit 34da41d

Browse files
committed
fix: improve random element on "/api"
1 parent f5b96ee commit 34da41d

2 files changed

Lines changed: 12 additions & 8 deletions

File tree

api/src/main/java/com/github/throyer/common/springboot/controllers/api/ApiController.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package com.github.throyer.common.springboot.controllers.api;
22

33
import java.util.List;
4-
import java.util.Random;
54

65
import org.springframework.web.bind.annotation.GetMapping;
76
import org.springframework.web.bind.annotation.RequestMapping;
87
import org.springframework.web.bind.annotation.RestController;
98

109
import com.github.throyer.common.springboot.utils.Hello;
10+
import com.github.throyer.common.springboot.utils.Random;
1111

1212
import io.swagger.v3.oas.annotations.Operation;
1313

@@ -33,7 +33,7 @@ public Hello index() {
3333
"Só sei que foi assim. - O Auto da Compadecida"
3434
);
3535

36-
var quote = quotes.get(new Random().nextInt(quotes.size()));
36+
var quote = Random.element(quotes);
3737

3838
return () -> quote;
3939
}

api/src/main/java/com/github/throyer/common/springboot/utils/Random.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
package com.github.throyer.common.springboot.utils;
22

3+
import static com.github.throyer.common.springboot.constants.SECURITY.JWT;
4+
import static com.github.throyer.common.springboot.constants.SECURITY.TOKEN_SECRET;
5+
import static java.lang.String.format;
6+
import static java.time.LocalDateTime.now;
7+
import static java.util.List.of;
8+
39
import java.time.LocalDateTime;
410
import java.util.ArrayList;
511
import java.util.List;
@@ -9,12 +15,6 @@
915
import com.github.throyer.common.springboot.domain.role.entity.Role;
1016
import com.github.throyer.common.springboot.domain.user.entity.User;
1117

12-
import static com.github.throyer.common.springboot.constants.SECURITY.JWT;
13-
import static com.github.throyer.common.springboot.constants.SECURITY.TOKEN_SECRET;
14-
import static java.lang.String.format;
15-
import static java.time.LocalDateTime.now;
16-
import static java.util.List.of;
17-
1818
public class Random {
1919

2020
private static final java.util.Random RANDOM = new java.util.Random();
@@ -24,6 +24,10 @@ public static Integer between(Integer min, Integer max) {
2424
return RANDOM.nextInt(max - min) + min;
2525
}
2626

27+
public static <T> T element(List<T> list) {
28+
return list.get(RANDOM.nextInt(list.size()));
29+
}
30+
2731
public static String code() {
2832
return format("%s%s%s%s", between(0, 9), between(0, 9), between(0, 9), between(0, 9));
2933
}

0 commit comments

Comments
 (0)