### Apache Airflow version

Other Airflow 2 version (please specify below)

### What happened

Airflow 2.3.4 (but actual code seems to have same behaviour).

I have mapped task with xcom value.

I want to get xcom value of particular instance or xcom values of all task instances.

I am using standard REST API method /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries/{xcom_key}

And it throws an error
`
  File &#34;/home/airflow/.local/lib/python3.9/site-packages/sqlalchemy/orm/query.py&#34;, line 2850, in one_or_none
    return self._iter().one_or_none()
  File &#34;/home/airflow/.local/lib/python3.9/site-packages/sqlalchemy/engine/result.py&#34;, line 1510, in one_or_none
    return self._only_one_row(
  File &#34;/home/airflow/.local/lib/python3.9/site-packages/sqlalchemy/engine/result.py&#34;, line 614, in _only_one_row
    raise exc.MultipleResultsFound(
sqlalchemy.exc.MultipleResultsFound: Multiple rows were found when one or none was required
`

Is it any way of getting xcom of mapped tasks via API?

### What you think should happen instead

_No response_

### How to reproduce

Make dag with mapped task. Return xcom value in every task. Try to get xcom value via API.

### Operating System

ubuntu 20.04

### Versions of Apache Airflow Providers

_No response_

### Deployment

Other

### Deployment details

Standard

### 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 tests.test_utils.config import conf_vars
    with conf_vars({("webserver", "auth_rate_limited"): "False"}):
        from airflow.www import app
        yield app.create_app(testing=True)
@pytest.fixture
def dag_maker(request):
    """Fixture to help create DAG, DagModel, and SerializedDAG automatically.
    You have to use the dag_maker as a context manager and it takes
    the same argument as DAG::
        with dag_maker(dag_id="mydag") as dag:
            task1 = EmptyOperator(task_id='mytask')
            task2 = EmptyOperator(task_id='mytask2')
    If the DagModel you want to use needs different parameters than the one
    automatically created by the dag_maker, you have to update the DagModel as below::
        dag_maker.dag_model.is_active = False
        session.merge(dag_maker.dag_model)
        session.commit()
    For any test you use the dag_maker, make sure to create a DagRun::
        dag_maker.create_dagrun()
    The dag_maker.create_dagrun takes the same arguments as dag.create_dagrun
    If you want to operate on serialized DAGs, then either pass
    ``serialized=True`` to the ``dag_maker()`` call, or you can mark your
    test/class/file with ``@pytest.mark.need_serialized_dag(True)``. In both of
    these cases the ``dag`` returned by the context manager will be a
    lazily-evaluated proxy object to the SerializedDAG.
    """
    import lazy_object_proxy