QNetworkRequestFactory Class
Classe pratique permettant de regrouper les points d'extrémité des serveurs distants qui partagent les mêmes propriétés de demande de réseau. Plus d'informations...
| En-tête : | #include <QNetworkRequestFactory> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Network)target_link_libraries(mytarget PRIVATE Qt6::Network) |
| qmake : | QT += network |
| Depuis : | Qt 6.7 |
- Liste de tous les membres, y compris les membres hérités
- QNetworkRequestFactory fait partie des classes implicitement partagées.
Fonctions publiques
| 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) |
Non-membres apparentés
| QDebug | operator<<(QDebug debug, const QNetworkRequestFactory &factory) |
Description détaillée
Les serveurs REST ont souvent des points d'extrémité qui nécessitent les mêmes en-têtes et autres données. Le regroupement de ces points d'extrémité avec un QNetworkRequestFactory rend plus pratique l'émission de requêtes vers ces points d'extrémité ; seules les parties typiquement variables telles que le chemin et les paramètres de la requête sont fournies lors de la création d'une nouvelle requête.
Les étapes d'utilisation de base de QNetworkRequestFactory sont les suivantes :
- Instanciation
- Définition des données communes à toutes les demandes
- Émission de requêtes
Exemple d'utilisation :
// 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
Fonction membre Documentation
QNetworkRequestFactory::QNetworkRequestFactory()
Crée un nouvel objet QNetworkRequestFactory. Utilisez setBaseUrl() pour définir une URL de base valide pour les requêtes.
Voir aussi QNetworkRequestFactory(const QUrl &baseUrl) et setBaseUrl().
[explicit] QNetworkRequestFactory::QNetworkRequestFactory(const QUrl &baseUrl)
Crée un nouvel objet QNetworkRequestFactory, en initialisant l'URL de base à baseUrl. L'URL de base est utilisée pour alimenter les demandes de réseau ultérieures.
Si l'URL contient un chemin d'accès, celui-ci sera extrait et utilisé comme chemin d'accès de base dans les demandes de réseau ultérieures. Cela signifie que tous les chemins fournis lors des requêtes individuelles seront ajoutés à ce chemin de base, comme illustré ci-dessous :
// 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)
Crée une copie de other.
[constexpr noexcept] QNetworkRequestFactory::QNetworkRequestFactory(QNetworkRequestFactory &&other)
Move-construit la fabrique à partir de other.
Note : L'objet déplacé other est placé dans un état partiellement formé, dans lequel les seules opérations valides sont la destruction et l'attribution d'une nouvelle valeur.
[noexcept] QNetworkRequestFactory::~QNetworkRequestFactory()
Détruit cet objet QNetworkRequestFactory.
[since 6.8] QVariant QNetworkRequestFactory::attribute(QNetworkRequest::Attribute attribute) const
Renvoie la valeur associée à attribute. Si l'attribut n'a pas été défini, renvoie une construction par défaut QVariant.
Cette fonction a été introduite dans Qt 6.8.
Voir aussi attribute(QNetworkRequest::Attribute, const QVariant &), setAttribute(), clearAttributes(), et QNetworkRequest::Attribute.
[since 6.8] QVariant QNetworkRequestFactory::attribute(QNetworkRequest::Attribute attribute, const QVariant &defaultValue) const
Renvoie la valeur associée à attribute. Si l'attribut n'a pas été défini, renvoie defaultValue.
Cette fonction a été introduite dans Qt 6.8.
Voir aussi attribute(), setAttribute(), clearAttributes() et QNetworkRequest::Attribute.
QUrl QNetworkRequestFactory::baseUrl() const
Renvoie l'URL de base utilisée pour les différentes requêtes.
L'URL de base peut contenir un chemin d'accès. Ce chemin est utilisé comme "préfixe" pour les chemins fournis lors de la génération des requêtes individuelles.
Voir aussi setBaseUrl().
QByteArray QNetworkRequestFactory::bearerToken() const
Renvoie le jeton de support qui a été défini.
Le jeton de porteur, s'il est présent, est utilisé pour définir l'en-tête Authorization: Bearer my_token pour les requêtes. Il s'agit d'une convention d'autorisation courante et elle est fournie à titre de commodité supplémentaire.
Les moyens d'obtenir le jeton de porteur varient. Les méthodes standard comprennent OAuth2 et le site web/ tableau de bord du fournisseur de services. On s'attend à ce que le jeton porteur change au fil du temps. Par exemple, lorsqu'il est mis à jour avec un jeton de rafraîchissement, le fait de toujours redéfinir le nouveau jeton garantit que les demandes ultérieures disposent du jeton le plus récent et le plus valide.
La présence du jeton n'a pas d'incidence sur la liste commonHeaders(). Si la liste commonHeaders() contient également l'en-tête Authorization, elle sera écrasée.
Voir également setBearerToken() et commonHeaders().
[since 6.8] void QNetworkRequestFactory::clearAttribute(QNetworkRequest::Attribute attribute)
Efface attribute défini pour cette usine.
Cette fonction a été introduite dans Qt 6.8.
Voir aussi attribute() et setAttribute().
[since 6.8] void QNetworkRequestFactory::clearAttributes()
Efface tous les attributs définis pour cette fabrique.
Cette fonction a été introduite dans Qt 6.8.
Voir aussi attribute() et setAttribute().
void QNetworkRequestFactory::clearBearerToken()
Efface le jeton du porteur.
Voir aussi bearerToken().
void QNetworkRequestFactory::clearCommonHeaders()
Efface les en-têtes actuels.
Voir aussi commonHeaders() et setCommonHeaders().
void QNetworkRequestFactory::clearPassword()
Efface le mot de passe défini pour cette usine.
Voir aussi password(), setPassword() et userName().
void QNetworkRequestFactory::clearQueryParameters()
Efface les paramètres de la requête.
Voir aussi queryParameters().
void QNetworkRequestFactory::clearUserName()
Efface le nom d'utilisateur attribué à cette usine.
QHttpHeaders QNetworkRequestFactory::commonHeaders() const
Renvoie les en-têtes actuellement définis.
Voir aussi setCommonHeaders() et clearCommonHeaders().
QNetworkRequest QNetworkRequestFactory::createRequest() const
Renvoie une adresse QNetworkRequest.
La requête renvoyée est remplie avec les données avec lesquelles cette fabrique a été configurée.
Voir aussi createRequest(const QUrlQuery&) et createRequest(const QString&, const QUrlQuery&).
QNetworkRequest QNetworkRequestFactory::createRequest(const QString &path) const
Renvoie une adresse QNetworkRequest.
L'URL de la requête renvoyée est formée en ajoutant l'adresse path fournie à l'adresse baseUrl (qui peut elle-même contenir un chemin d'accès).
Voir aussi createRequest(const QString &, const QUrlQuery &), createRequest(), et baseUrl().
QNetworkRequest QNetworkRequestFactory::createRequest(const QUrlQuery &query) const
Renvoie un QNetworkRequest.
L'URL de la requête renvoyée est formée en ajoutant l'adresse query fournie à l'adresse baseUrl.
Voir aussi createRequest(const QString &, const QUrlQuery &), createRequest(), et baseUrl().
QNetworkRequest QNetworkRequestFactory::createRequest(const QString &path, const QUrlQuery &query) const
Renvoie une adresse QNetworkRequest.
L'URL de requête renvoyée est formée en ajoutant les adresses path et query à l'adresse baseUrl (qui peut contenir un chemin d'accès).
Si path contient des éléments de requête, ils seront combinés avec les éléments de query.
Voir aussi createRequest(const QUrlQuery&), createRequest(), et baseUrl().
QString QNetworkRequestFactory::password() const
Renvoie le mot de passe défini pour cette usine.
Voir aussi setPassword(), clearPassword() et userName().
[since 6.8] QNetworkRequest::Priority QNetworkRequestFactory::priority() const
Renvoie la priorité attribuée à toutes les demandes futures créées par cette fabrique.
Cette fonction a été introduite dans Qt 6.8.
Voir aussi setPriority() et QNetworkRequest::priority().
QUrlQuery QNetworkRequestFactory::queryParameters() const
Renvoie les paramètres de requête qui sont ajoutés aux paramètres de requête des requêtes individuelles. Les paramètres de requête sont ajoutés à tous les paramètres de requête potentiels fournis avec les appels individuels createRequest().
Les cas d'utilisation des paramètres de requête répétitifs dépendent du serveur, mais les exemples typiques incluent le réglage de la langue ?lang=en, la spécification du format ?format=json, la spécification de la version de l'API ?version=1.0 et l'authentification de la clé de l'API.
Voir également setQueryParameters(), clearQueryParameters() et createRequest().
[since 6.8] void QNetworkRequestFactory::setAttribute(QNetworkRequest::Attribute attribute, const QVariant &value)
Définit la valeur associée à attribute en value. Si l'attribut est déjà défini, la valeur précédente est remplacée. Les attributs sont définis pour toutes les futures demandes créées par cette fabrique.
Cette fonction a été introduite dans Qt 6.8.
Voir aussi attribute(), clearAttribute(), clearAttributes() et QNetworkRequest::Attribute.
void QNetworkRequestFactory::setBaseUrl(const QUrl &url)
Définit l'URL de base utilisée dans les requêtes individuelles à url.
Voir aussi baseUrl().
void QNetworkRequestFactory::setBearerToken(const QByteArray &token)
Définit le jeton de support à token.
Voir aussi bearerToken() et clearBearerToken().
void QNetworkRequestFactory::setCommonHeaders(const QHttpHeaders &headers)
Définit headers qui est commun à toutes les demandes.
Ces en-têtes sont ajoutés aux en-têtes des demandes individuelles. Il s'agit d'un mécanisme pratique pour définir des en-têtes qui se répètent d'une requête à l'autre.
Voir aussi commonHeaders(), clearCommonHeaders(), et createRequest().
void QNetworkRequestFactory::setPassword(const QString &password)
Définit le mot de passe de cette usine à password.
Le mot de passe est défini dans l'URL de la requête lorsque createRequest() est appelé. Les sites QRestAccessManager / QNetworkAccessManager tenteront d'utiliser ces informations d'identification lorsque le serveur indiquera que l'authentification est requise.
Voir également password(), clearPassword() et userName().
[since 6.8] void QNetworkRequestFactory::setPriority(QNetworkRequest::Priority priority)
Définit la priorité de toutes les demandes futures créées par cette usine à priority.
La priorité par défaut est QNetworkRequest::NormalPriority.
Cette fonction a été introduite dans Qt 6.8.
Voir aussi priority() et QNetworkRequest::setPriority().
void QNetworkRequestFactory::setQueryParameters(const QUrlQuery &query)
Définit les paramètres de query qui sont ajoutés aux paramètres de requête des demandes individuelles.
Voir aussi queryParameters() et clearQueryParameters().
void QNetworkRequestFactory::setSslConfiguration(const QSslConfiguration &configuration)
Définit la configuration SSL à configuration.
Voir aussi sslConfiguration().
void QNetworkRequestFactory::setTransferTimeout(std::chrono::milliseconds timeout)
Définit timeout utilisé pour les transferts.
Voir aussi transferTimeout(), QNetworkRequest::setTransferTimeout() et QNetworkAccessManager::setTransferTimeout().
void QNetworkRequestFactory::setUserName(const QString &userName)
Définit le nom d'utilisateur de cette usine à userName.
Le nom d'utilisateur est défini dans l'URL de la requête lorsque createRequest() est appelé. Les sites QRestAccessManager / QNetworkAccessManager tenteront d'utiliser ces informations d'identification lorsque le serveur indiquera qu'une authentification est nécessaire.
Voir aussi userName(), clearUserName() et password().
QSslConfiguration QNetworkRequestFactory::sslConfiguration() const
Renvoie la configuration SSL définie pour cette usine. La configuration SSL est définie pour chaque demande individuelle.
Voir aussi setSslConfiguration().
[noexcept] void QNetworkRequestFactory::swap(QNetworkRequestFactory &other)
Remplace cette usine par other. Cette opération est très rapide et n'échoue jamais.
std::chrono::milliseconds QNetworkRequestFactory::transferTimeout() const
Renvoie le délai d'attente utilisé pour les transferts.
Voir aussi setTransferTimeout(), QNetworkRequest::transferTimeout() et QNetworkAccessManager::transferTimeout().
QString QNetworkRequestFactory::userName() const
Renvoie le nom d'utilisateur défini pour cette usine.
Voir aussi setUserName(), clearUserName(), et password().
[noexcept] QNetworkRequestFactory &QNetworkRequestFactory::operator=(QNetworkRequestFactory &&other)
Move assigne other et renvoie une référence à cette fabrique.
Note : L'objet déplacé other est placé dans un état partiellement formé, dans lequel les seules opérations valides sont la destruction et l'attribution d'une nouvelle valeur.
QNetworkRequestFactory &QNetworkRequestFactory::operator=(const QNetworkRequestFactory &other)
Crée une copie de other et renvoie une référence à cette fabrique.
Non-membres apparentés
QDebug operator<<(QDebug debug, const QNetworkRequestFactory &factory)
Écrit factory dans le flux debug.
Voir aussi Techniques de débogage.
© 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.