### Apache Airflow version

2.5.3

### What happened

It seems that the order_by parameters is not used when calling dags list with the rest api

The following two commands returns the same results which should not be possible cause one is ascending and the other descending 

curl -X 'GET'   'http://<server_name>:<port>/api/v1/dags?limit=100&order_by=dag_id&only_active=true'  -H 'accept: application/json'

curl -X 'GET'   'http://<server_name>:<port>/api/v1/dags?limit=100&order_by=-dag_id&only_active=true'  -H 'accept: application/json'


by the way, giving an incorrect field name doesn't throw an error

### What you think should happen instead

_No response_

### How to reproduce

The following two commands returns the same results
curl -X 'GET'   'http://<server_name>:<port>/api/v1/dags?limit=100&order_by=-dag_id&only_active=true'  -H 'accept: application/json'

curl -X 'GET'   'http://<server_name>:<port>/api/v1/dags?limit=100&order_by=dag_id&only_active=true'  -H 'accept: application/json'

Same problem is visible with the swagger ui

### Operating System

PRETTY_NAME="Debian GNU/Linux 11 (bullseye)" NAME="Debian GNU/Linux" VERSION_ID="11" VERSION="11 (bullseye)" VERSION_CODENAME=bullseye ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/"

### Versions of Apache Airflow Providers

apache-airflow-providers-common-sql==1.3.4
apache-airflow-providers-ftp==3.3.1
apache-airflow-providers-http==4.2.0
apache-airflow-providers-imap==3.1.1
apache-airflow-providers-microsoft-mssql==3.3.2
apache-airflow-providers-mysql==4.0.2
apache-airflow-providers-oracle==3.6.0
apache-airflow-providers-sqlite==3.3.1
apache-airflow-providers-vertica==3.3.1


### 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
from http import HTTPStatus
from typing import Collection
from connexion import NoContent
from flask import g, request
from marshmallow import ValidationError
from sqlalchemy.orm import Session
from sqlalchemy.sql.expression import or_
from airflow import DAG
from airflow.api_connexion import security
from airflow.api_connexion.exceptions import AlreadyExists, BadRequest, NotFound
from airflow.api_connexion.parameters import check_limit, format_parameters
from airflow.api_connexion.schemas.dag_schema import (
    DAGCollection,
    dag_detail_schema,
    dag_schema,
    dags_collection_schema,
)
from airflow.api_connexion.types import APIResponse, UpdateMask
from airflow.exceptions import AirflowException, DagNotFound
from airflow.models.dag import DagModel, DagTag
from airflow.security import permissions
from airflow.utils.airflow_flask_app import get_airflow_app
from airflow.utils.session import NEW_SESSION, provide_session
@security.requires_access([(permissions.ACTION_CAN_READ, permissions.RESOURCE_DAG)])
@provide_session
def get_dag(*, dag_id: str, session: Session = NEW_SESSION) -> APIResponse: