Skip to content

Commit 72090ce

Browse files
committed
refactoring(dependency): CartRepository simplification
1 parent ab2f9ef commit 72090ce

File tree

1 file changed

+21
-29
lines changed

1 file changed

+21
-29
lines changed

3.4_dependency/cart-with-mocks/src/main/java/ru/netology/repository/CartRepository.java

Lines changed: 21 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -18,46 +18,38 @@ public CartRepository(String dbUrl) {
1818
}
1919

2020
public void save(PurchaseItem item) {
21-
try {
22-
HttpRequest request = HttpRequest.newBuilder(URI.create(dbUrl))
23-
.header("Content-Type", "application/json")
24-
.POST(HttpRequest.BodyPublishers.ofString(gson.toJson(item)))
25-
.build();
26-
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
27-
if (response.statusCode() < 200 || response.statusCode() > 299) {
28-
throw new RuntimeException("request didn't complete successfully");
29-
}
30-
} catch (Exception e) {
31-
throw new RuntimeException(e);
32-
}
21+
HttpRequest request = HttpRequest.newBuilder(URI.create(dbUrl))
22+
.header("Content-Type", "application/json")
23+
.POST(HttpRequest.BodyPublishers.ofString(gson.toJson(item)))
24+
.build();
25+
makeRequest(request);
3326
}
3427

3528
public PurchaseItem[] findAll() {
36-
try {
37-
HttpRequest request = HttpRequest.newBuilder(URI.create(dbUrl))
38-
.header("Accept", "application/json")
39-
.GET()
40-
.build();
41-
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
42-
if (response.statusCode() < 200 || response.statusCode() > 299) {
43-
throw new RuntimeException("request didn't complete successfully");
44-
}
45-
return gson.fromJson(response.body(), PurchaseItem[].class);
46-
} catch (Exception e) {
47-
throw new RuntimeException(e);
48-
}
29+
HttpRequest request = HttpRequest.newBuilder(URI.create(dbUrl))
30+
.header("Accept", "application/json")
31+
.GET()
32+
.build();
33+
HttpResponse<String> response = makeRequest(request);
34+
return gson.fromJson(response.body(), PurchaseItem[].class);
4935
}
5036

5137
public void removeById(int id) {
38+
HttpRequest request = HttpRequest.newBuilder(URI.create(dbUrl + "/" + id))
39+
.header("Content-Type", "application/json")
40+
.DELETE()
41+
.build();
42+
makeRequest(request);
43+
}
44+
45+
private HttpResponse<String> makeRequest(HttpRequest request) {
5246
try {
53-
HttpRequest request = HttpRequest.newBuilder(URI.create(dbUrl + "/" + id))
54-
.header("Content-Type", "application/json")
55-
.DELETE()
56-
.build();
5747
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
5848
if (response.statusCode() < 200 || response.statusCode() > 299) {
5949
throw new RuntimeException("request didn't complete successfully");
6050
}
51+
52+
return response;
6153
} catch (Exception e) {
6254
throw new RuntimeException(e);
6355
}

0 commit comments

Comments
 (0)