The same driver works for all peripherals of the same type, which means they share the same HAL_<driver>_IRQHandler function. However, in some cases, they may have different interrupt vectors. Here is an example with interrupt triggers on the falling edge of pins 1 and 3 of port A.

#include "bsp.h"

int main(void)
{
    GPIO_InitTypeDef GPIO_InitStruct;               /*gpios initial structure*/
    
    HAL_Init();                                     /*Init HAL library*/
    __HAL_RCC_GPIOA_CLK_ENABLE();                   /*Enable clock on port A*/
  
    GPIO_InitStruct.Pin = GPIO_PIN_1 | GPIO_PIN_3;   /*pins to set as inputs*/
    GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;     /*input on mode faling edge interrupt*/
    GPIO_InitStruct.Pull = GPIO_NOPULL;             /*no pull-up niether pull-down*/
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;    /*pin speed*/
    /*use the previous parameters to set configuration on pin C0*/
    HAL_GPIO_Init( GPIOA, &GPIO_InitStruct );
    
    /*Enable interrupt vector EXTI0_1_IRQ where the CPU will jump if a input change
    happens on pins 0 to 1*/
    HAL_NVIC_SetPriority( EXTI0_1_IRQn, 2, 0 );
    HAL_NVIC_EnableIRQ( EXTI0_1_IRQn );
    
    /*Enable interrupt vector EXTI2_3_IRQ where the CPU will jump if a input change
    happens on pins 2 to 3*/
    HAL_NVIC_SetPriority( EXTI2_3_IRQn, 2, 0 );
    HAL_NVIC_EnableIRQ( EXTI2_3_IRQn );

    while (1)
    {
        
    }
}

/* Both vector functions call the same IRQ functions and therefore the same callback function is 
called and somehow we must determine which interrupt causes the callback function to be called. 
In this particular case we can use the parameter passed which is the pin number*/
void HAL_GPIO_EXTI_Falling_Callback( uint16_t GPIO_Pin )
{
    if( GPIO_Pin == GPIO_PIN_1 )
    {
        /*Application code for the interupt in pin 1*/
    }
    if( GPIO_Pin == GPIO_PIN_3 )
    {
        /*Application code for the interupt in pin 3*/
    }  
}

ints.c

/*Interrupt vector for pins 0 and 1 on any port*/
void EXTI0_1_IRQHandler( void )
{
    /*Handle the inerrupt and call the callbacks functions*/
    HAL_GPIO_EXTI_IRQHandler( GPIO_PIN_1 );
}

/*Interrupt vector for pins 2 and 3 on any port*/
void EXTI2_3_IRQHandler( void )
{
    /*Handle the inerrupt and call the callbacks functions*/
    HAL_GPIO_EXTI_IRQHandler( GPIO_PIN_3 );
}