1 package com.guinetik.examples;
2
3 import com.guinetik.rr.RocketRest;
4 import com.guinetik.rr.RocketRestConfig;
5
6
7
8
9 public class FakeJsonApiExample implements Example {
10
11 private static final String FAKE_API_BASE_URL = "https://fake-json-api.mock.beeceptor.com";
12 private static final String DUMMY_API_BASE_URL = "https://dummy-json.mock.beeceptor.com";
13
14 @Override
15 public String getName() {
16 return "Fake-JSON API Example";
17 }
18
19 @Override
20 public void run() {
21
22 RocketRestConfig fakeApiConfig = RocketRestConfig.builder(FAKE_API_BASE_URL)
23 .build();
24 RocketRest fakeApiClient = new RocketRest(fakeApiConfig);
25
26
27 RocketRestConfig dummyApiConfig = RocketRestConfig.builder(DUMMY_API_BASE_URL)
28 .build();
29 RocketRest dummyApiClient = new RocketRest(dummyApiConfig);
30
31 try {
32
33 System.out.println("\n=== USERS ===");
34 System.out.println("Fetching users from " + FAKE_API_BASE_URL + "/users");
35 String usersResponse = fakeApiClient.get("/users", String.class);
36 System.out.println("Response:");
37 System.out.println(usersResponse);
38
39
40 System.out.println("\n=== COMPANIES ===");
41 System.out.println("Fetching companies from " + FAKE_API_BASE_URL + "/companies");
42 String companiesResponse = fakeApiClient.get("/companies", String.class);
43 System.out.println("Response:");
44 System.out.println(companiesResponse);
45
46
47 System.out.println("\n=== POSTS ===");
48 System.out.println("Fetching posts from " + DUMMY_API_BASE_URL + "/posts");
49 String postsResponse = dummyApiClient.get("/posts", String.class);
50 System.out.println("Response:");
51 System.out.println(postsResponse);
52
53
54 System.out.println("\n=== ALTERNATIVE APPROACH ===");
55 RocketRestConfig emptyConfig = RocketRestConfig.builder("")
56 .build();
57 RocketRest directClient = new RocketRest(emptyConfig);
58
59 System.out.println("Fetching users with absolute URL");
60 String directResponse = directClient.get(FAKE_API_BASE_URL + "/users", String.class);
61 System.out.println("Response:");
62 System.out.println(directResponse);
63 directClient.shutdown();
64
65 } catch (Exception e) {
66 System.err.println("Error fetching data: " + e.getMessage());
67 e.printStackTrace();
68 } finally {
69
70 fakeApiClient.shutdown();
71 dummyApiClient.shutdown();
72 }
73 }
74 }