QNetworkRequestFactory Class

共通のネットワーク要求プロパティを共有するリモートサーバーエンドポイントを グループ化するための便利なクラスです。詳細...

ヘッダ #include <QNetworkRequestFactory>
CMake: find_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake: QT += network
以来:Qt 6.7

パブリック関数

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)

詳細説明

REST サーバーには、多くの場合、同じヘッダーやその他のデータを必要とするエンドポイントがあります。このようなエンドポイントを QNetworkRequestFactory でグループ化することで、これらのエンドポイントへのリクエストを発行するのがより便利になります。新しいリクエストを作成する際には、パスや クエリパラメータなどの一般的に変化する部分のみが提供されます。

QNetworkRequestFactory の基本的な使用手順は次のとおりです:

  • インスタンス化
  • すべてのリクエストに共通するデータの設定
  • リクエストの発行

使用例

// 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

メンバ関数 ドキュメント

QNetworkRequestFactory::QNetworkRequestFactory()

新しい QNetworkRequestFactory オブジェクトを作成します。setBaseUrl() を使用して、リクエストに有効なベース URL を設定します。

QNetworkRequestFactory(const QUrl &baseUrl) およびsetBaseUrl()も参照してください

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

新しい QNetworkRequestFactory オブジェクトを作成し、ベース URL をbaseUrl に初期化します。 ベース URL は、後続のネットワーク要求に入力するために使用されます。

URL にパス・コンポーネントが含まれている場合、そのパスが抽出され、 以降のネットワーク・リクエストのベース・パスとして使用されます。つまり、個々のリクエストのリクエスト時に指定されたパスは、下図の ように、このベースパスに追加されます:

// 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)

other のコピーを作成する。

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

Move はother からファクトリーを構築する。

注意: 移動元のオブジェクトother は、部分的に形成された状態に置かれる。この状態では、有効な操作は破壊と新しい値の割り当てのみである。

[noexcept] QNetworkRequestFactory::~QNetworkRequestFactory()

このQNetworkRequestFactory オブジェクトを破棄する。

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

attribute に関連付けられた値を返します。 属性が設定されていない場合は、デフォルトで構成されたQVariant を返します。

この関数は Qt 6.8 で導入されました。

attribute(QNetworkRequest::Attribute, const QVariant &),setAttribute(),clearAttributes(),QNetworkRequest::Attributeも参照してください

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

attribute属性が設定されていない場合は、defaultValue を返します。

この関数は Qt 6.8 で導入されました。

attribute(),setAttribute(),clearAttributes(),QNetworkRequest::Attributeも参照してください

QUrl QNetworkRequestFactory::baseUrl() const

個々のリクエストに使われたベース URL を返します。

ベース URL にはパスコンポーネントを含めることができます。このパスは、個々のリクエストを生成する際に提供されるパスの "プレフィックス" として使用されます。

setBaseUrl()も参照ください

QByteArray QNetworkRequestFactory::bearerToken() const

設定されているベアラートークンを返す。

ベアラートークンが存在する場合、リクエストのAuthorization: Bearer my_token ヘッダを設定するために使用されます。これは一般的な認可規約であり、追加の便宜として提供されています。

ベアラートークンを取得する手段はさまざまである。標準的な方法には、OAuth2 、サービス プロバイダーのWebサイト/ダッシュボードが含まれる。ベアラートークンは時間の経過とともに変化することが予想される。たとえば、リフレッシュ・トークンで更新された場合、常に新しいトークンを再度設定することで、その後のリクエストで最新の有効なトークンが使用されるようになります。

ベアラ・トークンの存在は、commonHeaders()のリストには影響しない。commonHeaders()がAuthorization ヘッダーもリストしている場合、それは上書きされる。

setBearerToken()およびcommonHeaders()も参照の こと。

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

このファクトリーに設定されているattribute をクリアします。

この関数は Qt 6.8 で導入されました。

attribute() およびsetAttribute()も参照してください

[since 6.8] void QNetworkRequestFactory::clearAttributes()

このファクトリーに設定されている属性をすべてクリアします。

この関数は Qt 6.8 で導入されました。

attribute() およびsetAttribute()も参照してください

void QNetworkRequestFactory::clearBearerToken()

ベアラートークンをクリアする。

bearerToken()も参照

void QNetworkRequestFactory::clearCommonHeaders()

現在のヘッダを消去する。

commonHeaders() およびsetCommonHeaders()も参照

void QNetworkRequestFactory::clearPassword()

このファクトリーに設定されているパスワードをクリアします。

password ()、setPassword ()、userName)も参照

void QNetworkRequestFactory::clearQueryParameters()

クエリ・パラメータをクリアします。

queryParameters()も参照ください

void QNetworkRequestFactory::clearUserName()

このファクトリーに設定されているユーザー名をクリアします。

QHttpHeaders QNetworkRequestFactory::commonHeaders() const

現在設定されているヘッダを返します。

setCommonHeaders() およびclearCommonHeaders()も参照ください

QNetworkRequest QNetworkRequestFactory::createRequest() const

QNetworkRequest を返します。

返されるリクエストは、このファクトリーが構成されているデータで満たされます。

createRequest(const QUrlQuery&) およびcreateRequest(const QString&, const QUrlQuery&)も参照してください

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

QNetworkRequest を返す。

返されるリクエストのURLは、指定されたpathbaseUrl (このURL自体がpathコンポーネントを持つこともある)に追加することで形成される。

createRequest(const QString &, const QUrlQuery &),createRequest(),baseUrl()も参照

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

QNetworkRequest を返す。

返されるリクエストのURLは、指定されたquerybaseUrl に追加することで形成される。

createRequest(const QString &, const QUrlQuery &),createRequest(),baseUrl()も参照

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

QNetworkRequest を返す。

返されるリクエストURLは、提供されたpathquerybaseUrl (パスコンポーネントがあるかもしれない)に追加することで形成される。

指定されたpath にクエリ項目が含まれている場合、それらはquery の項目と結合されます。

createRequest(const QUrlQuery&)、createRequest()、baseUrl()も参照してください

QString QNetworkRequestFactory::password() const

このファクトリーに設定されているパスワードを返します。

setPassword(), password(),clearPassword() およびuserName()も参照してください

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

このファクトリーによって作成された将来のリクエストに割り当てられた優先順位を返します。

この関数は Qt 6.8 で導入されました。

setPriority() およびQNetworkRequest::priority()も参照してください

QUrlQuery QNetworkRequestFactory::queryParameters() const

個々のリクエストのクエリパラメータに追加されるクエリパラメータを返します。クエリパラメータは、個々のcreateRequest() 呼び出しで指定されたクエリパラメータに追加される。

クエリパラメータを繰り返し使用するユースケースはサーバーに依存するが、典型的な例としては、言語設定?lang=en 、フォーマット指定?format=json 、APIバージョン指定?version=1.0 、APIキー認証などがある。

setQueryParameters()、clearQueryParameters()、createRequest()も参照のこと

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

attribute に関連付けられた値をvalue に設定します。 属性がすでに設定されている場合、以前の値が置き換えられます。属性は、このファクトリーによって将来作成されるすべてのリクエストに設定されます。

この関数は Qt 6.8 で導入されました。

attribute(),clearAttribute(),clearAttributes(),QNetworkRequest::Attributeも参照してください

void QNetworkRequestFactory::setBaseUrl(const QUrl &url)

個々のリクエストで使われるベースURLをurl に設定する。

baseUrl()も参照

void QNetworkRequestFactory::setBearerToken(const QByteArray &token)

ベアラ・トークンをtoken に設定する。

bearerToken() およびclearBearerToken()も参照のこと

void QNetworkRequestFactory::setCommonHeaders(const QHttpHeaders &headers)

すべてのリクエストに共通なheaders を設定します。

これらのヘッダは個々のリクエストのヘッダに追加されます。これはリクエスト間で繰り返されるヘッダを設定するための便利な仕組みです。

commonHeaders(),clearCommonHeaders(),createRequest()も参照ください

void QNetworkRequestFactory::setPassword(const QString &password)

このファクトリーのパスワードをpassword に設定します。

パスワードはcreateRequest() が呼び出されたときにリクエスト URL に設定されます。QRestAccessManager /QNetworkAccessManager は、サーバーが認証が必要であることを示す場合、これらの資格情報の使用を試みます。

password()、clearPassword()、およびuserName()も参照してください

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

このファクトリーによって今後作成されるすべてのリクエストの優先順位をpriority に設定します。

デフォルトの優先度はQNetworkRequest::NormalPriority です。

この関数は Qt 6.8 で導入されました。

priority() およびQNetworkRequest::setPriority()も参照してください

void QNetworkRequestFactory::setQueryParameters(const QUrlQuery &query)

個々のリクエストのクエリパラメータに追加されるquery パラメータを設定する。

queryParameters() およびclearQueryParameters()も参照ください

void QNetworkRequestFactory::setSslConfiguration(const QSslConfiguration &configuration)

SSL設定をconfiguration に設定する。

sslConfiguration()も参照

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

転送に使用するtimeout を設定する。

transferTimeout()、QNetworkRequest::setTransferTimeout()、QNetworkAccessManager::setTransferTimeout()も参照のこと

void QNetworkRequestFactory::setUserName(const QString &userName)

このファクトリーのユーザー名をuserName に設定します。

このユーザー名はcreateRequest() が呼び出されたときにリクエスト URL に設定されます。QRestAccessManager /QNetworkAccessManager は、サーバーが認証が必要であることを示す場合、これらの資格情報の使用を試みます。

userName()、clearUserName() およびpassword()も参照してください

QSslConfiguration QNetworkRequestFactory::sslConfiguration() const

このファクトリーに設定されている SSL 構成を返します。SSL 設定は個々のリクエストに設定されます。

setSslConfiguration()も参照してください

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

この工場をother と入れ替える。この操作は非常に速く、失敗することはない。

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

転送に使用されるタイムアウトを返す。

setTransferTimeout()、QNetworkRequest::transferTimeout() およびQNetworkAccessManager::transferTimeout()も参照

QString QNetworkRequestFactory::userName() const

このファクトリーに設定されているユーザー名を返します。

setUserName()、clearUserName() およびpassword()も参照 ください。

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

Move はother を代入し、このファクトリーへの参照を返す。

注意: 移動元のオブジェクトother は部分的に形成された状態に置かれ、その中で有効な操作は破壊と新しい値の割り当てのみである。

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

other のコピーを作成し、このファクトリーへの参照を返します。

関連する非会員

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

debug ストリームにfactory を書き込む。

デバッグ技法も参照のこと

© 2025 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.