The design pattern below is Template Method Pattern used in combination with the Abstract Class Pattern. It is a common practice in web development to create an Abstract API Class that defines a general structure for handling API requests and then extend this abstract class for each specific entity. Here's how you can implement this same pattern in TypeScript:
// Abstract API Class (Template Method Pattern)
abstract class AbstractApi {
protected baseUrl: string;