En esta página

QNetworkRequestFactory Class

Clase de conveniencia para agrupar puntos finales de servidores remotos que comparten propiedades comunes de petición de red. Más...

Cabecera: #include <QNetworkRequestFactory>
CMake: find_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake: QT += network
Desde: Qt 6.7

Funciones Públicas

QNetworkRequestFactory()
QNetworkRequestFactory(const QUrl &baseUrl)
QNetworkRequestFactory(const QNetworkRequestFactory &other)
QNetworkRequestFactory(QNetworkRequestFactory &&other)
~QNetworkRequestFactory()
(since 6.8) QVariant attribute(QNetworkRequest::Attribute attribute) const
(since 6.8) QVariant attribute(QNetworkRequest::Attribute attribute, const QVariant &defaultValue) const
QUrl baseUrl() const
QByteArray bearerToken() const
(since 6.8) void clearAttribute(QNetworkRequest::Attribute attribute)
(since 6.8) void clearAttributes()
void clearBearerToken()
void clearCommonHeaders()
void clearPassword()
void clearQueryParameters()
void clearUserName()
QHttpHeaders commonHeaders() const
QNetworkRequest createRequest() const
QNetworkRequest createRequest(const QString &path) const
QNetworkRequest createRequest(const QUrlQuery &query) const
QNetworkRequest createRequest(const QString &path, const QUrlQuery &query) const
QString password() const
(since 6.8) QNetworkRequest::Priority priority() const
QUrlQuery queryParameters() const
(since 6.8) void setAttribute(QNetworkRequest::Attribute attribute, const QVariant &value)
void setBaseUrl(const QUrl &url)
void setBearerToken(const QByteArray &token)
void setCommonHeaders(const QHttpHeaders &headers)
void setPassword(const QString &password)
(since 6.8) void setPriority(QNetworkRequest::Priority priority)
void setQueryParameters(const QUrlQuery &query)
void setSslConfiguration(const QSslConfiguration &configuration)
void setTransferTimeout(std::chrono::milliseconds timeout)
void setUserName(const QString &userName)
QSslConfiguration sslConfiguration() const
void swap(QNetworkRequestFactory &other)
std::chrono::milliseconds transferTimeout() const
QString userName() const
QNetworkRequestFactory &operator=(QNetworkRequestFactory &&other)
QNetworkRequestFactory &operator=(const QNetworkRequestFactory &other)
QDebug operator<<(QDebug debug, const QNetworkRequestFactory &factory)

Descripción detallada

Los servidores REST suelen tener puntos finales que requieren las mismas cabeceras y otros datos. Agrupar dichos endpoints con un QNetworkRequestFactory hace más cómodo emitir peticiones a estos endpoints; al crear una nueva petición sólo se proporcionan las partes que suelen variar, como la ruta y los parámetros de consulta.

Los pasos básicos de uso de QNetworkRequestFactory son los siguientes:

  • Instanciación
  • Establecimiento de los datos comunes a todas las peticiones
  • Emisión de peticiones

Un ejemplo de uso:

// Instantiate a factory somewhere suitable in the application
QNetworkRequestFactory api{{"https://example.com/v1"_L1}};

// Set bearer token
api.setBearerToken("my_token");

// Issue requests (reply handling omitted for brevity)
manager.get(api.createRequest("models"_L1)); // https://example.com/v1/models
// The conventional leading '/' for the path can be used as well
manager.get(api.createRequest("/models"_L1)); // https://example.com/v1/models

Documentación de Funciones Miembro

QNetworkRequestFactory::QNetworkRequestFactory()

Crea un nuevo objeto QNetworkRequestFactory. Usa setBaseUrl() para establecer una URL base válida para las peticiones.

Ver también QNetworkRequestFactory(const QUrl &baseUrl) y setBaseUrl().

[explicit] QNetworkRequestFactory::QNetworkRequestFactory(const QUrl &baseUrl)

Crea un nuevo objeto QNetworkRequestFactory, inicializando la URL base a baseUrl. La URL base se utiliza para rellenar las peticiones de red posteriores.

Si la URL contiene un componente de ruta, será extraído y utilizado como ruta base en las peticiones de red posteriores. Esto significa que cualquier ruta proporcionada al solicitar peticiones individuales se añadirá a esta ruta base, como se ilustra a continuación:

// Here the API version v2 is used as the base path:
QNetworkRequestFactory api{{"https://example.com/v2"_L1}};
// ...
manager.get(api.createRequest("models"_L1)); // https://example.com/v2/models
// Equivalent with a leading '/'
manager.get(api.createRequest("/models"_L1)); // https://example.com/v2/models

QNetworkRequestFactory::QNetworkRequestFactory(const QNetworkRequestFactory &other)

Crea una copia de other.

[constexpr noexcept] QNetworkRequestFactory::QNetworkRequestFactory(QNetworkRequestFactory &&other)

Mover-construye la fábrica a partir de other.

Nota: El objeto movido-desde other se coloca en un estado parcialmente formado, en el que las únicas operaciones válidas son la destrucción y la asignación de un nuevo valor.

[noexcept] QNetworkRequestFactory::~QNetworkRequestFactory()

Destruye este objeto QNetworkRequestFactory.

[since 6.8] QVariant QNetworkRequestFactory::attribute(QNetworkRequest::Attribute attribute) const

Devuelve el valor asociado a attribute. Si no se ha establecido el atributo, devuelve un QVariant construido por defecto.

Esta función se introdujo en Qt 6.8.

Ver también attribute(QNetworkRequest::Attribute, const QVariant &), setAttribute(), clearAttributes(), y QNetworkRequest::Attribute.

[since 6.8] QVariant QNetworkRequestFactory::attribute(QNetworkRequest::Attribute attribute, const QVariant &defaultValue) const

Devuelve el valor asociado a attribute. Si no se ha establecido el atributo, devuelve defaultValue.

Esta función se introdujo en Qt 6.8.

Véase también attribute(), setAttribute(), clearAttributes() y QNetworkRequest::Attribute.

QUrl QNetworkRequestFactory::baseUrl() const

Devuelve la URL base utilizada para las solicitudes individuales.

La URL base puede contener un componente de ruta. Esta ruta se utiliza como "prefijo" para las rutas que se proporcionan al generar las solicitudes individuales.

Véase también setBaseUrl().

QByteArray QNetworkRequestFactory::bearerToken() const

Devuelve el token de portador que se ha establecido.

El token de portador, si está presente, se utiliza para establecer la cabecera Authorization: Bearer my_token para las solicitudes. Esta es una convención de autorización común y se proporciona como una conveniencia adicional.

Los medios para adquirir el token de portador varían. Los métodos estándar incluyen OAuth2 y el sitio web/cuadro de mandos del proveedor de servicios. Se espera que el token de portador cambie con el tiempo. Por ejemplo, cuando se actualiza con un token de actualización, establecer siempre de nuevo el nuevo token garantiza que las solicitudes posteriores tengan el token más reciente y válido.

La presencia del token de portador no afecta al listado de commonHeaders(). Si commonHeaders() también lista el encabezado Authorization, éste se sobrescribirá.

Véase también setBearerToken() y commonHeaders().

[since 6.8] void QNetworkRequestFactory::clearAttribute(QNetworkRequest::Attribute attribute)

Borra attribute establecido en esta fábrica.

Esta función se introdujo en Qt 6.8.

Véase también attribute() y setAttribute().

[since 6.8] void QNetworkRequestFactory::clearAttributes()

Borra cualquier atributo establecido para esta fábrica.

Esta función se introdujo en Qt 6.8.

Véase también attribute() y setAttribute().

void QNetworkRequestFactory::clearBearerToken()

Borra la ficha de portador.

Véase también bearerToken().

void QNetworkRequestFactory::clearCommonHeaders()

Borra las cabeceras actuales.

Véase también commonHeaders() y setCommonHeaders().

void QNetworkRequestFactory::clearPassword()

Borra la contraseña establecida para esta fábrica.

Véase también password(), setPassword() y userName().

void QNetworkRequestFactory::clearQueryParameters()

Borra los parámetros de la consulta.

Véase también queryParameters().

void QNetworkRequestFactory::clearUserName()

Borra el nombre de usuario asignado a esta fábrica.

QHttpHeaders QNetworkRequestFactory::commonHeaders() const

Devuelve las cabeceras configuradas actualmente.

Véase también setCommonHeaders() y clearCommonHeaders().

QNetworkRequest QNetworkRequestFactory::createRequest() const

Devuelve un QNetworkRequest.

La petición devuelta se rellena con los datos con los que se ha configurado esta fábrica.

Véase también createRequest(const QUrlQuery&) y createRequest(const QString&, const QUrlQuery&).

QNetworkRequest QNetworkRequestFactory::createRequest(const QString &path) const

Devuelve un QNetworkRequest.

La URL de la petición devuelta se forma añadiendo el path proporcionado al baseUrl (que a su vez puede tener un componente de ruta).

Véase también createRequest(const QString &, const QUrlQuery &), createRequest(), y baseUrl().

QNetworkRequest QNetworkRequestFactory::createRequest(const QUrlQuery &query) const

Devuelve un QNetworkRequest.

La URL de la petición devuelta se forma añadiendo el query proporcionado al baseUrl.

Véase también createRequest(const QString &, const QUrlQuery &), createRequest() y baseUrl().

QNetworkRequest QNetworkRequestFactory::createRequest(const QString &path, const QUrlQuery &query) const

Devuelve un QNetworkRequest.

La URL de la petición devuelta se forma añadiendo las direcciones path y query a la dirección baseUrl (que puede tener un componente de ruta).

Si path contiene elementos de consulta, se combinarán con los elementos de query.

Véase también createRequest(const QUrlQuery&), createRequest(), y baseUrl().

QString QNetworkRequestFactory::password() const

Devuelve la contraseña establecida para esta fábrica.

Véase también setPassword(), clearPassword() y userName().

[since 6.8] QNetworkRequest::Priority QNetworkRequestFactory::priority() const

Devuelve la prioridad asignada a cualquier solicitud futura creada por esta fábrica.

Esta función se introdujo en Qt 6.8.

Véase también setPriority() y QNetworkRequest::priority().

QUrlQuery QNetworkRequestFactory::queryParameters() const

Devuelve los parámetros de consulta que se añaden a los parámetros de consulta de las peticiones individuales. Los parámetros de consulta se añaden a cualquier parámetro de consulta potencial proporcionado con las llamadas individuales a createRequest().

Los casos de uso de los parámetros de consulta repetidos dependen del servidor, pero los ejemplos típicos incluyen la configuración del idioma ?lang=en, la especificación del formato ?format=json, la especificación de la versión de la API ?version=1.0 y la autenticación de la clave de la API.

Véase también setQueryParameters(), clearQueryParameters() y createRequest().

[since 6.8] void QNetworkRequestFactory::setAttribute(QNetworkRequest::Attribute attribute, const QVariant &value)

Establece el valor asociado a attribute en value. Si el atributo ya está establecido, se sustituye el valor anterior. Los atributos se establecen en cualquier solicitud futura creada por esta fábrica.

Esta función se introdujo en Qt 6.8.

Véase también attribute(), clearAttribute(), clearAttributes(), y QNetworkRequest::Attribute.

void QNetworkRequestFactory::setBaseUrl(const QUrl &url)

Establece la URL base utilizada en las solicitudes individuales en url.

Véase también baseUrl().

void QNetworkRequestFactory::setBearerToken(const QByteArray &token)

Establece el token de portador en token.

Véase también bearerToken() y clearBearerToken().

void QNetworkRequestFactory::setCommonHeaders(const QHttpHeaders &headers)

Establece headers que son comunes a todas las peticiones.

Estas cabeceras se añaden a las cabeceras de las peticiones individuales. Se trata de un mecanismo práctico para establecer cabeceras que se repiten en todas las peticiones.

Véase también commonHeaders(), clearCommonHeaders() y createRequest().

void QNetworkRequestFactory::setPassword(const QString &password)

Establece la contraseña de esta fábrica en password.

La contraseña se establece en la URL de la petición cuando se llama a createRequest(). QRestAccessManager / QNetworkAccessManager intentará utilizar estas credenciales cuando el servidor indique que se requiere autenticación.

Véase también password(), clearPassword(), y userName().

[since 6.8] void QNetworkRequestFactory::setPriority(QNetworkRequest::Priority priority)

Establece la prioridad para cualquier solicitud futura creada por esta fábrica en priority.

La prioridad por defecto es QNetworkRequest::NormalPriority.

Esta función se introdujo en Qt 6.8.

Véase también priority() y QNetworkRequest::setPriority().

void QNetworkRequestFactory::setQueryParameters(const QUrlQuery &query)

Establece los parámetros de query que se añaden a los parámetros de consulta de las peticiones individuales.

Véase también queryParameters() y clearQueryParameters().

void QNetworkRequestFactory::setSslConfiguration(const QSslConfiguration &configuration)

Establece la configuración SSL en configuration.

Véase también sslConfiguration().

void QNetworkRequestFactory::setTransferTimeout(std::chrono::milliseconds timeout)

Establece timeout utilizado para las transferencias.

Véase también transferTimeout(), QNetworkRequest::setTransferTimeout() y QNetworkAccessManager::setTransferTimeout().

void QNetworkRequestFactory::setUserName(const QString &userName)

Establece el nombre de usuario de esta fábrica en userName.

El nombre de usuario se establece en la URL de la petición cuando se llama a createRequest(). QRestAccessManager / QNetworkAccessManager intentará utilizar estas credenciales cuando el servidor indique que se requiere autenticación.

Véase también userName(), clearUserName(), y password().

QSslConfiguration QNetworkRequestFactory::sslConfiguration() const

Devuelve la configuración SSL establecida para esta fábrica. La configuración SSL se establece para cada petición individual.

Véase también setSslConfiguration().

[noexcept] void QNetworkRequestFactory::swap(QNetworkRequestFactory &other)

Cambia esta fábrica por other. Esta operación es muy rápida y nunca falla.

std::chrono::milliseconds QNetworkRequestFactory::transferTimeout() const

Devuelve el tiempo de espera utilizado para las transferencias.

Véase también setTransferTimeout(), QNetworkRequest::transferTimeout() y QNetworkAccessManager::transferTimeout().

QString QNetworkRequestFactory::userName() const

Devuelve el nombre de usuario asignado a esta fábrica.

Véase también setUserName(), clearUserName() y password().

[noexcept] QNetworkRequestFactory &QNetworkRequestFactory::operator=(QNetworkRequestFactory &&other)

Mueve-asigna other y devuelve una referencia a esta fábrica.

Nota: El objeto movido-desde other se coloca en un estado parcialmente formado, en el que las únicas operaciones válidas son la destrucción y la asignación de un nuevo valor.

QNetworkRequestFactory &QNetworkRequestFactory::operator=(const QNetworkRequestFactory &other)

Crea una copia de other y devuelve una referencia a esta fábrica.

No miembros relacionados

QDebug operator<<(QDebug debug, const QNetworkRequestFactory &factory)

Escribe factory en el flujo debug.

Véase también Técnicas de depuración.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.