SPHttpClient class
SPHttpClient 用于执行针对 SharePoint 的 REST 调用。 此类负责添加默认标题、管理写入操作所需的摘要,并收集遥测来帮助服务监视应用程序的性能。
注解
此类标记为 @sealed
。 子类不应扩展它。
若要与其他 Internet 服务通信,请使用 HttpClient 类。
构造函数
(constructor)(service |
构造 类的新实例 |
属性
configurations | 用于 SPHttpClient 类的标准预定义 SPHttpClientConfiguration 对象。 |
is |
|
service |
SPHttpClient 的服务键。 |
方法
_fetch(url, configuration, options) | |
begin |
启动 ODATA 批处理,允许将多个 REST 查询捆绑到单个 Web 请求。 |
fetch(url, configuration, options) | 执行 REST 服务调用。 |
get(url, configuration, options) | 调用 fetch () ,但将 方法设置为“GET”。 |
get |
使用试探法推断用于身份验证的基 URL。 |
post(url, configuration, options) | 调用 fetch () ,但将 方法设置为“POST”。 |
构造函数详细信息
(constructor)(serviceScope)
属性详细信息
configurations
用于 SPHttpClient 类的标准预定义 SPHttpClientConfiguration 对象。
static readonly configurations: ISPHttpClientConfigurations;
属性值
isNavigate
get isNavigate(): boolean;
set isNavigate(isNavigate: boolean);
属性值
boolean
serviceKey
SPHttpClient 的服务键。
static readonly serviceKey: ServiceKey<SPHttpClient>;
属性值
方法详细信息
_fetch(url, configuration, options)
protected _fetch(url: string, configuration: SPHttpClientConfiguration, options: ISPHttpClientOptions): Promise<SPHttpClientResponse>;
参数
- url
-
string
- configuration
- SPHttpClientConfiguration
- options
- ISPHttpClientOptions
返回
Promise<SPHttpClientResponse>
beginBatch(batchCreationOptions)
注意
此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。
启动 ODATA 批处理,允许将多个 REST 查询捆绑到单个 Web 请求。
beginBatch(batchCreationOptions?: ISPHttpClientBatchCreationOptions): SPHttpClientBatch;
参数
- batchCreationOptions
- ISPHttpClientBatchCreationOptions
返回
用于管理批处理操作的 SPHttpClientBatch 对象。
fetch(url, configuration, options)
执行 REST 服务调用。
fetch(url: string, configuration: SPHttpClientConfiguration, options: ISPHttpClientOptions): Promise<SPHttpClientResponse>;
参数
- url
-
string
要获取的 URL
- configuration
- SPHttpClientConfiguration
确定 SPHttpClient 的默认行为;通常应为 SPHttpClientConfigurations 的最新版本号
- options
- ISPHttpClientOptions
影响请求的其他选项
返回
Promise<SPHttpClientResponse>
行为类似于 WHATWG 提取 () 的承诺。 此承诺将解决 httpClientResponse.ok 为 false (,) 错误状态代码(如 HTTP 404 或 500)。 承诺只会拒绝网络故障或其他阻止与服务器通信的错误。
注解
通常,SPHttpClient.fetch () 的参数和语义与此处所述的 WHATWG API 标准基本相同: https://fetch.spec.whatwg.org/
SPHttpClient 子类添加了一些其他行为,这些行为在使用 SharePoint ODATA API 的 (可以通过使用 HttpClient 而不是) 来避免:
如果未显式指定,将添加默认的“Accept”和“Content-Type”标头。
对于写入操作,会自动添加“X-RequestDigest”标头
请求摘要令牌会自动提取并存储在缓存中,支持预加载
对于写入操作,SPHttpClient 将自动添加“X-RequestDigest”标头,可能需要通过发出单独的请求(如“;”https://example.com/sites/sample/_api/contextinfo")来获取该标头。 通常,可以通过查找保留 URL 段(例如,在传递给提取 () 的原始 URL 中查找“_api”)来猜测相应的 SPWeb URL;如果没有,请使用 ISPHttpClientOptions.webUrl 显式指定它。
get(url, configuration, options)
调用 fetch () ,但将 方法设置为“GET”。
get(url: string, configuration: SPHttpClientConfiguration, options?: ISPHttpClientOptions): Promise<SPHttpClientResponse>;
参数
- url
-
string
要获取的 URL
- configuration
- SPHttpClientConfiguration
确定 SPHttpClient 的默认行为;通常应为 SPHttpClientConfigurations 的最新版本号
- options
- ISPHttpClientOptions
影响请求的其他选项
返回
Promise<SPHttpClientResponse>
行为类似于 WHATWG 提取 () 的承诺。 此承诺将解决 httpClientResponse.ok 为 false (,) 错误状态代码(如 HTTP 404 或 500)。 承诺只会拒绝网络故障或其他阻止与服务器通信的错误。
getWebUrlFromRequestUrl(requestUrl)
使用试探法推断用于身份验证的基 URL。
static getWebUrlFromRequestUrl(requestUrl: string): string;
参数
- requestUrl
-
string
SharePoint REST 服务的 URL
返回
string
推断出的 SPWeb URL
注解
尝试通过查找“_api”、“_layouts”或“_vit_bin”等常见 SharePoint 路径组件来推断与提供的 REST URL 关联的 SPWeb URL。 这对 X-RequestDigest 和 ODATA 批处理等操作是必要的,它要求发布单独的 REST 终结点,以完成请求。
例如,如果 requestUrl 为“/sites/site/web/_api/service”,则返回的 URL 将为“/sites/site/web”。 或者,如果 requestUrl 为“http://example.com/_layouts/service",则返回的 URL 将为”http://example.com"”。
如果无法确定 URL,则会引发异常。
post(url, configuration, options)
调用 fetch () ,但将 方法设置为“POST”。
post(url: string, configuration: SPHttpClientConfiguration, options: ISPHttpClientOptions): Promise<SPHttpClientResponse>;
参数
- url
-
string
要获取的 URL
- configuration
- SPHttpClientConfiguration
确定 SPHttpClient 的默认行为;通常应为 SPHttpClientConfigurations 的最新版本号
- options
- ISPHttpClientOptions
影响请求的其他选项
返回
Promise<SPHttpClientResponse>
行为类似于 WHATWG 提取 () 的承诺。 此承诺将解决 httpClientResponse.ok 为 false (,) 错误状态代码(如 HTTP 404 或 500)。 承诺只会拒绝网络故障或其他阻止与服务器通信的错误。