Currently if an API URL that does not exist is requested, an html page is returned instead of JSON

**Apache Airflow version**:2.0

**What happened**:
Making a request against an endpoint that does not exist returns an html page

**What you expected to happen**:

I expected it to return 404 error in JSON indicating that the URL was not found

**How to reproduce it**:
1. Start airflow website and scheduler in breeze.
2. Make a request against an endpoint that does not exist e.g http://localhost:28080/api/v1/getconnectiond
3. Notice that an html page is returned instead of a json
cc: @mik-laj 

airflow/api_connexion/exceptions.py
#
#
from typing import Dict, Optional
import werkzeug
from connexion import FlaskApi, ProblemException, problem
from airflow import version
if any(suffix in version.version for suffix in ['dev', 'a', 'b']):
    doc_link = "https://airflow.readthedocs.io/en/latest/stable-rest-api-ref.html"
else:
    doc_link = f'https://airflow.apache.org/docs/{version.version}/stable-rest-api-ref.html'
EXCEPTIONS_LINK_MAP = {
    400: f"{doc_link}#section/Errors/BadRequest",
    404: f"{doc_link}#section/Errors/NotFound",
    401: f"{doc_link}#section/Errors/Unauthenticated",
    409: f"{doc_link}#section/Errors/AlreadyExists",
    403: f"{doc_link}#section/Errors/PermissionDenied",
    500: f"{doc_link}#section/Errors/Unknown",
}
def common_error_handler(exception):
    """
    Used to capture connexion exceptions and add link to the type field
    :type exception: Exception
    """
    if isinstance(exception, ProblemException):
        link = EXCEPTIONS_LINK_MAP.get(exception.status)
        if link:
            response = problem(
                status=exception.status,
                title=exception.title,