### Apache Airflow version

Other Airflow 2 version (please specify below)

### What happened

Apache Airflow version:  2.4.0

I remove DAG from storage then trigger it:

curl -X POST 'http://localhost:8080/api/dags/<DAG_ID>/dag_runs' --header 'Content-Type: application/json' --data '{"dag_run_id":"my_id"}'

it returns:
```

Traceback (most recent call last):
  File &#34;/home/airflow/.local/lib/python3.8/site-packages/flask/app.py&#34;, line 2525, in wsgi_app
    response = self.full_dispatch_request()
  File &#34;/home/airflow/.local/lib/python3.8/site-packages/flask/app.py&#34;, line 1822, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File &#34;/home/airflow/.local/lib/python3.8/site-packages/flask/app.py&#34;, line 1820, in full_dispatch_request
    rv = self.dispatch_request()
  File &#34;/home/airflow/.local/lib/python3.8/site-packages/flask/app.py&#34;, line 1796, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
  File &#34;/home/airflow/.local/lib/python3.8/site-packages/connexion/decorators/decorator.py&#34;, line 68, in wrapper
    response = function(request)
  File &#34;/home/airflow/.local/lib/python3.8/site-packages/connexion/decorators/uri_parsing.py&#34;, line 149, in wrapper
    response = function(request)
  File &#34;/home/airflow/.local/lib/python3.8/site-packages/connexion/decorators/validation.py&#34;, line 196, in wrapper
    response = function(request)
  File &#34;/home/airflow/.local/lib/python3.8/site-packages/connexion/decorators/validation.py&#34;, line 399, in wrapper
    return function(request)
  File &#34;/home/airflow/.local/lib/python3.8/site-packages/connexion/decorators/response.py&#34;, line 112, in wrapper
    response = function(request)
  File &#34;/home/airflow/.local/lib/python3.8/site-packages/connexion/decorators/parameter.py&#34;, line 120, in wrapper
    return function(**kwargs)
  File &#34;/home/airflow/.local/lib/python3.8/site-packages/airflow/api_connexion/security.py&#34;, line 51, in decorated
    return func(*args, **kwargs)
  File &#34;/home/airflow/.local/lib/python3.8/site-packages/airflow/utils/session.py&#34;, line 75, in wrapper
    return func(*args, session=session, **kwargs)
  File &#34;/home/airflow/.local/lib/python3.8/site-packages/airflow/api_connexion/endpoints/dag_run_endpoint.py&#34;, line 310, in post_dag_run
    dag_run = dag.create_dagrun(
AttributeError: &#39;NoneType&#39; object has no attribute &#39;create_dagrun&#39;
```


### What you think should happen instead

should response with 404 "A specified resource is not found."

### How to reproduce

- remove existing DAG file from storage
- create a new DAG run using API endpoint /api/dags/<DAG_ID>/dag_runs for that deleted DAG

### Operating System

18.04.1 Ubuntu

### Versions of Apache Airflow Providers

_No response_

### Deployment

Official Apache Airflow Helm Chart

### Deployment details

_No response_

### Anything else

_No response_

### Are you willing to submit PR?

- [ ] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

#
#
from __future__ import annotations
import urllib
from datetime import timedelta
from unittest import mock
import pytest
import time_machine
from airflow.api_connexion.exceptions import EXCEPTIONS_LINK_MAP
from airflow.datasets import Dataset
from airflow.models import DAG, DagModel, DagRun
from airflow.models.dataset import DatasetEvent, DatasetModel
from airflow.operators.empty import EmptyOperator
from airflow.security import permissions
from airflow.utils import timezone
from airflow.utils.session import create_session, provide_session
from airflow.utils.state import State
from airflow.utils.types import DagRunType
from tests.test_utils.api_connexion_utils import assert_401, create_user, delete_roles, delete_user
from tests.test_utils.config import conf_vars
from tests.test_utils.db import clear_db_dags, clear_db_runs, clear_db_serialized_dags
from tests.test_utils.www import _check_last_log
@pytest.fixture(scope="module")
def configured_app(minimal_app_for_api):