JavaScript 的哈尔斯塔克客户端
用于JavaScript的Halstack客户端使开发者能够以声明的方式轻松地与基于超媒体的API合作. 它提供一套功能,以方便超媒体资源之间的导航,并基于 哈尔 财务报告和审定财务报表 JSON 超计划 规格草案,以及 DXC API 准则 和HAL扩展.
这个SDK作为客户端-不可知库发布,既可用于浏览器应用程序(如Vanilla JS,React或Angular应用程序)也可用于后端应用程序(NodeJS应用程序). 因此,它作为UMD发行.
安装
npm install @dxc-technology/halstack-client
用于节点.js
// require from the dependency the modules you need
const {
HalResource,
HalResponse,
HalApiCaller,
} = require("@dxc-technology/halstack-client");
在浏览器中使用
// require from the dependency the modules you need
import {
HalResource,
HalResponse,
HalApiCaller,
} from "@dxc-technology/halstack-client";
哈尔资源厂
本单元的目的是便利获取某一特定资源的信息。 这个工厂函数接收一个以 HAL 资源代表为参数的 JSON 对象.
它返回一个 HalResource 对象,封装最初的 HAL 资源代表并包含一组功能,这些功能将允许您以声明的方式从资源中获取数据,而无需充分了解 HAL 资源代表结构的细节.
这个 HalResource 也可以用来帮助开发者创建符合性 HalResource 表示将包含在 Hal 响应中,暴露函数以添加通常可以在资源中找到的不同部分.
HalResource 对象
| 名称 | 类型 | 说明 |
|---|---|---|
resourceRepresentation | Object | 整个资源代表. |
getTitle | ()=>String | 返回资源标题。 从 \_options.title。 。 。 . |
getInteractions | ()=>HalInteraction[] | 返回数组 哈尔互动 对象。 从 \_options.links 阵列. |
getInteraction | (String)=>HalInteraction | 接收带有字符串的字符串 rel 互动。 返回 哈尔互动 对象. |
getItems | ()=>Object[] | 返回原项目链接对象的数组。 从 \_links.item 阵列. |
getItem | (Number)=>Object | 接收项目索引。 返回项目对象. |
getLinks | ()=>Object[] | 返回原始链接对象的数组(添加 rel,忽略 item 链接。 从 \_links 对象. |
getLink | (String)=>Object | 接收带有字符串的字符串 rel 链接。 返回链接对象(添加 rel) (中文(简体) ). |
getProperties | ()=>Object[] | 返回数组 Hal 财产 对象。 取自资源根级属性 . |
getProperty | (String)=>Object | 接收带有属性密钥的字符串。 返回 Hal 财产 对象. |
getRequiredProperties | ()=>String[] | 返回带有所需属性密钥的数组 。 从 \_options.required 阵列. |
isPropertyRequired | (String)=>Bool | 接收属性的密钥。 如果在 \_options.required 阵列. |
getSchemaProperties | ()=>Object[] | 返回属性的原计划对象数组( 添加) key) (中文(简体) ). 从 \_options.properties 对象. |
getSchemaProperty | (String)=>Object | 接收属性的密钥。 返回属性的策略对象( 添加) key如果在其中存在 \_options.properties 对象. |
addLink | (Object)=>void | 作为参数接收对象。 此对象可以包含通常的链接属性 { rel, (中文(简体) ), name, (中文(简体) ), href, (中文(简体) ), title 何处 rel 财务报告和审定财务报表 href 需要这样做。 这个 object 将添加到 \links 区域使用 rel 作为密钥 |
addLinks | (Object)=>void | 作为参数接收对象。 此对象可以包含通常的链接属性 { rel, (中文(简体) ), name, (中文(简体) ), href, (中文(简体) ), title 何处 rel 财务报告和审定财务报表 href 需要这样做。 该对象将被添加到 \links 区域使用 rel 作为密钥 |
addTitle | (String)=>void | 将所收到的参数指定为资源标题 \_options标题 |
addItem | (Object)=>void | 添加作为参数收到的对象为资源 \_link 项目 |
addItems | (Object[])=>void | 将列表中作为参数收到的每个对象添加为资源 \_link 目 录(续). |
addProperties | (Object)=>void | 添加按键:在作为参数接收的对象中发现的值作为资源属性. |
addOptionsProperties | (Object)=>void | 添加参数中收到的每个属性为 \_options.properties 节 |
addOptionsProperty | (Object)=>void | 添加参数中所收到的属性( { key: schema}) 作为属性 \_options.properties 节 |
addInteraction | (Object)=>void | 添加作为参数收到的对象( E){rel: Interaction}在 options.link 节 |
addOptions | (Object)=>void | 它接收一个对象作为参数,如果发现这些部分为对象键,则会添加相互作用,属性,要求和标题. |
HalInteraction 对象
包括原始交互对象的现有属性。 它提供以下辅助功能:
| 名称 | 类型 | 说明 |
|---|---|---|
getRequiredProperties | ()=>String[] | 返回带有所需属性密钥的数组 。 取自相互作用的"schema.required"阵列. |
isPropertyRequired | (String)=>Bool | 接收属性的密钥。 如果在交互的“ schema. required” 数组内存在, 返回真值 . |
getSchemaProperties | ()=>Object[] | 返回属性的原计划对象数组( 添加) key) (中文(简体) ). 从 \schema.properties 交互对象. |
getSchemaProperty | (String)=>Object | 接收属性的密钥。 返回属性的策略对象( 添加) key如果在其中存在 \schema.properties 交互对象. |
hasProperty | (String)=>Bool | 接收属性的密钥。 如果在 \schema.properties 交互对象. |
HalProperty 对象
| 名称 | 类型 | 说明 |
|---|---|---|
isRequired | ()=>Bool | 如果财产存在于 \_options.required 阵列. |
existsInInteraction | (String)=>Bool | 接收带有字符串的字符串 rel 互动。 如果属性存在于交互对象“schema.pritities”内,则返回真实性. |
getSchema | ()=>Object | 返回属性的策略对象( 添加) key如果在其中存在 \_options.properties 对象. |
哈尔森工厂
本单元的目的是便利查阅在API回复中返回的信息。 此工厂函数接受一个具有以下属性的物体作为参数:
| 名称 | 类型 | 说明 |
|---|---|---|
body | Object | 消息正文是传送到一个 http 响应的数据字节 . |
headers | Object | 包含 http 头条, 提供服务器信息, 以及进一步访问请求- URI 确定的资源 . |
status | Number | 状态代码由服务器根据客户端向服务器提出的要求发布. 它包括来自IETF(RFCs)请求评论的代码. |
它回来了 响应对象。 。 。 .
响应对象
| 名称 | 类型 | 说明 |
|---|---|---|
body | JSON Object | 反应信息机构 |
headers | JSON Object | Http 信头 |
status | Number | Https 响应代码 |
type | String | 反应格式。 实例:应用程序/JSON |
halResource | HalResource | HalResource 对象 使用机构内提供的信息组成. |
containsHalResource | Bool | 如果响应的内容是 HAL 资源, 则为真 . |
HalApi呼叫器模块
此模块是 HTTP 客户端, 负责发送解析 HalResponses它输出以下功能:
| 名称 | 类型 | 说明 |
|---|---|---|
setGlobalHeaders | function | 接收将用于所有使用此模块的 http 请求的信头对象. |
get | function:Promise(HalResponse) | 接收 a { url, headers } 作为参数的对象。 返回承诺,并将传递一个 HalResponse 对象给处理者 . |
options | function:Promise(HalResponse) | 接收 a { url, headers } 作为参数的对象。 返回承诺,并将传递一个 HalResponse 对象给处理者 . |
patch | function:Promise(HalResponse) | 接收 a { url, body, headers } 作为参数的对象。 返回承诺,并将传递一个 HalResponse 对象给处理者 . |
post | function:Promise(HalResponse) | 接收 a { url, body, headers } 作为参数的对象。 返回承诺,并将传递一个 HalResponse 对象给处理者 . |
put | function:Promise(HalResponse) | 接收 a { url, body, headers } 作为参数的对象。 返回承诺,并将传递一个 HalResponse 对象给处理者 . |
del | function:Promise(HalResponse) | 接收 a { url, headers } 对象作为参数。 返回一个承诺,并将通过一个 HalResponse 对象为处理器. |
许可证
参见 Halstack 客户端许可证 这里
待执行
看我们的 问题