2.5 KiB
2.5 KiB
TwitchTrackerStubController API Documentation
This document outlines the functionalities provided by the TwitchTrackerStubController class.
Note: This API provides stubbed data, meaning it simulates real data from twitchtracker.com but doesn't interact with the actual website.
Base URL: http://localhost:8888/twitchtracker.com/channel/stub
CORS: Enabled
Endpoints
1. GET /rankings
- Description: This endpoint retrieves a single page (50 channels) of stubbed Twitch channel rankings data.
- Response: String containing HTML data representing the rankings table.
Example Usage:
GET http://localhost:8888/twitchtracker.com/channel/stub/rankings
2. GET /load/
- Description: This endpoint fetches and returns a list of 1000 stubbed Twitch channels with their rankings.
- Response: List of
TwitchChannelobjects containing channel information.
Example Usage:
GET http://localhost:8888/twitchtracker.com/channel/stub/load/
Implementation Details:
- This endpoint calculates the number of pages required to retrieve 1000 channels based on the
channelsPerTwitchTrackerPageconstant (default 50). - It then iterates through each page number and calls the
loadSingleTwitchTrackerPageByNumberendpoint to retrieve the data. - Finally, it combines all retrieved channels into a single list and returns it.
3. GET /load/{pageNumber}
- Description: This endpoint retrieves a single page (50 channels) of stubbed Twitch channel rankings data based on the provided page number.
- Path Variable:
pageNumber(integer) - Specifies the desired page number. - Response: List of
TwitchChannelobjects containing channel information for the requested page.
Example Usage:
GET http://localhost:8888/twitchtracker.com/channel/stub/load/2
Implementation Details:
- This endpoint fetches a single page of stubbed HTML data representing the rankings table.
- It then parses the HTML and converts it into a list of
TwitchChannelobjects using thetwitchTrackerService.convert_html_list_twitch_channelsmethod. - Finally, it saves each retrieved channel to the database using the
twitchChannelService.savemethod. (This behavior might be specific to your application's use case.)
Additional Notes:
- The
sleepRandomlymethod introduces a random delay between page fetches to simulate realistic network behavior. - This documentation assumes familiarity with Spring annotations like
@GetMapping,@PathVariable, and@Autowired.