全称 mx.rpc.RESTClient
命名空间 mx.rpc
RESTClient
继承层次结构 RESTClient
源文件 ~\mx\scripts\rpc\RESTClient.js
提供一个 REST 风格服务的客户端工具类。

示例 1

下列代码将以异步 POST 方法访问 REST 服务,并且将 appSuite 对象以 JSON 字符串形式作为 POST 消息体进行传递。
JavaScript 代码
var client = new mx.rpc.RESTClient(); var appSuiteID = "abcd123"; var appSuite = { id: "abcd123", name: "应用套件1", owner: "admin" }; client.post( "/appsuites/create", JSON.stringify({ "appSuite": appSuite }), // 将 appSuite 先转换为 JSON 字符串,然后作为 POST 参数传递到服务端 function(p_context) // 回调函数 { if (p_context.successful) { alert(p_context.resultValue); } else { alert("REST 服务调用失败,请参考: " + p_context.resultHint); } } // End of callback function ); // End of client.post

构造函数

名称 说明
RESTClient() 构建 RESTClient 类的新实例。

方法

名称 说明
get(p_path, [p_data], [p_callback]) 使用 HTTP GET 方法,以异步方式进行 REST 服务调用。
getSync(p_path, [p_data]) 使用 HTTP GET 方法,以同步方式进行 REST 服务调用,并返回服务端的响应结果,通常是一个字符串或一个 JSON 对象。
post(p_path, [p_data], [p_callback]) 使用 HTTP POST 方法,以异步方式进行 REST 服务调用。
put(p_path, [p_data], [p_callback]) 使用 HTTP PUT 方法,以异步方式进行 REST 服务调用。
remove(p_path, [p_data], [p_callback]) 说明:由于 delete 是 JavaScript 关键字,所以该方法名称改为 remove。 使用 HTTP DELETE 方法,以异步方式进行 REST 服务调用。
send(p_path, p_method, [p_data], [p_async], [p_callback]) 以异步或同步方式进行 REST 服务调用。当确定使用 HTTP 方法时,建议直接使用 getpost 等方法。 如根路径是“~/rest/service/”,如果调用 send 方法时使用“app/create”为 p_path 参数,则最终路径会被自动拼合为“~/rest/service/app/create”。
sendSync(p_path, p_method, [p_data]) 以同步方式进行 REST 服务调用,并返回服务端的响应结果,通常是一个字符串或一个 JSON 对象。当确定使用 HTTP 方法时,建议直接使用 getSyncpostSync 等方法。
setBaseUrl(p_baseUrl) 设置 baseUrl 字段的值。

字段

名称 说明
async 获取或设置一个布尔值,表示请求是否使用同步, 值为 null 或 true 时表示异步,值为 false 时表示同步。
baseUrl 获取 RESTClient 的基 URL。通常以“~”开头,表示相对于模块上下文的根路径,并以“/”结尾;如“~/rest/service/”;如果以“~/../”开头,表示相对于模块的根路径,并以“/”结尾。 如果设置了基 URL,则所有方法中传递的 path 都会以该 URL 为相对路径。
mode 获取或者设置服务请求的模式。

该参数常见值包括:

  • default
  • 表示根据 async 进行异步或同步请求的发送。
  • queue
  • 表示以请求队列的方式发出 AJAX 请求,在前一个请求结束之前不会发出新的请求。

timeout 获取或设置一个数字,表示超时时间,以毫秒为单位。

构造函数详细信息

RESTClient() 方法

构建 RESTClient 类的新实例。

方法详细信息

get(p_path, [p_data], [p_callback]) 方法

使用 HTTP GET 方法,以异步方式进行 REST 服务调用。

参数

  • p_path
    指定的 REST 服务路径,可以是以“~/”开头的绝对路径,如“~/rest/is/appsuites”;也可以是相对于 baseUrl 的相对路径,如 baseUrl 字段的值是“~/rest/is/”,这时 p_path 参数可被简写为“/appsuites”或“appsuites”。
  • p_data
    可选的。指定传入的参数信息。通常是一个 JSON 对象。如 { id: 1984, name: "中文" } 会被转换成“id=1984&name=%E4%B8%AD%E6%96%87”作为参数拼入 URL,其中中文部分会使用 UTF-8 进行编码。
  • p_callback
    可选的。一个 Function 对象,表示回调方法。方法的原型为 function(p_context),其中 p_context 是一个 JSON 对象,其中 successful 表示调用是否成功,如果成功则返回 true,并且可通过 result 字段获取返回值;如果失败则返回 false,并且可通过 error 字段获取失败的异常对象。

getSync(p_path, [p_data]) 方法

使用 HTTP GET 方法,以同步方式进行 REST 服务调用,并返回服务端的响应结果,通常是一个字符串或一个 JSON 对象。

参数

  • p_path
    指定的 REST 服务路径,可以是以“~/”开头的绝对路径,如“~/rest/is/appsuites”;也可以是相对于 baseUrl 的相对路径,如 baseUrl 字段的值是“~/rest/is/”,这时 p_path 参数可被简写为“/appsuites”或“appsuites”。
  • p_data
    可选的。指定传入的参数信息。通常是一个 JSON 对象。如 { id: 1984, name: "中文" } 会被转换成“id=1984&name=%E4%B8%AD%E6%96%87”作为参数拼入 URL,其中中文部分会使用 UTF-8 进行编码。

post(p_path, [p_data], [p_callback]) 方法

使用 HTTP POST 方法,以异步方式进行 REST 服务调用。

参数

  • p_path
    指定的 REST 服务路径,可以是以“~/”开头的绝对路径,如“~/rest/is/appsuites”;也可以是相对于 baseUrl 的相对路径,如 baseUrl 字段的值是“~/rest/is/”,这时 p_path 参数可被简写为“/appsuites”或“appsuites”。
  • p_data
    可选的。指定传入的参数信息。通常是一个 JSON 对象。如 { id: 1984, name: "中文" } 会被转换成“id=1984&name=%E4%B8%AD%E6%96%87”作为 POST 内容传递,其中中文部分会使用 UTF-8 进行编码。
  • p_callback
    可选的。一个 Function 对象,表示回调方法。方法的原型为 function(p_context),其中 p_context 是一个 JSON 对象,其中 successful 表示调用是否成功,如果成功则返回 true,并且可通过 result 字段获取返回值;如果失败则返回 false,并且可通过 error 字段获取失败的异常对象。

put(p_path, [p_data], [p_callback]) 方法

使用 HTTP PUT 方法,以异步方式进行 REST 服务调用。

参数

  • p_path
    指定的 REST 服务路径,可以是以“~/”开头的绝对路径,如“~/rest/is/appsuites”;也可以是相对于 baseUrl 的相对路径,如 baseUrl 字段的值是“~/rest/is/”,这时 p_path 参数可被简写为“/appsuites”或“appsuites”。
  • p_data
    可选的。指定传入的参数信息。通常是一个 JSON 对象。如 { id: 1984, name: "中文" } 会被转换成“id=1984&name=%E4%B8%AD%E6%96%87”作为参数拼入 URL,其中中文部分会使用 UTF-8 进行编码。
  • p_callback
    可选的。一个 Function 对象,表示回调方法。方法的原型为 function(p_context),其中 p_context 是一个 JSON 对象,其中 successful 表示调用是否成功,如果成功则返回 true,并且可通过 result 字段获取返回值;如果失败则返回 false,并且可通过 error 字段获取失败的异常对象。

remove(p_path, [p_data], [p_callback]) 方法

说明:由于 delete 是 JavaScript 关键字,所以该方法名称改为 remove。 使用 HTTP DELETE 方法,以异步方式进行 REST 服务调用。

参数

  • p_path
    指定的 REST 服务路径,可以是以“~/”开头的绝对路径,如“~/rest/is/appsuites”;也可以是相对于 baseUrl 的相对路径,如 baseUrl 字段的值是“~/rest/is/”,这时 p_path 参数可被简写为“/appsuites”或“appsuites”。
  • p_data
    可选的。指定传入的参数信息。通常是一个 JSON 对象。如 { id: 1984, name: "中文" } 会被转换成“id=1984&name=%E4%B8%AD%E6%96%87”作为 POST 内容传递,其中中文部分会使用 UTF-8 进行编码。
  • p_callback
    可选的。一个 Function 对象,表示回调方法。方法的原型为 function(p_context),其中 p_context 是一个 JSON 对象,其中 successful 表示调用是否成功,如果成功则返回 true,并且可通过 result 字段获取返回值;如果失败则返回 false,并且可通过 error 字段获取失败的异常对象。

send(p_path, p_method, [p_data], [p_async], [p_callback]) 方法

以异步或同步方式进行 REST 服务调用。当确定使用 HTTP 方法时,建议直接使用 getpost 等方法。 如根路径是“~/rest/service/”,如果调用 send 方法时使用“app/create”为 p_path 参数,则最终路径会被自动拼合为“~/rest/service/app/create”。

参数

  • p_path
    指定的 REST 服务路径,可以是以“~/”开头的绝对路径,如“~/rest/service/appsuites”;也可以是相对于 baseUrl 的相对路径,如 baseUrl 字段的值是“~/rest/service/”,这时 p_path 参数可被简写为“/appsuites”或“appsuites”。
  • p_method
    指定 HTTP 方法的名称。如“GET”、“POST”等。
  • p_data
    可选的。指定传入的参数信息。通常是一个 JSON 对象。如 { id: 1984, name: "中文" } 会被转换成“id=1984&name=%E4%B8%AD%E6%96%87”作为参数拼入 URL(使用 HTTP POST 方法时,是作为内容传递),其中中文部分会使用 UTF-8 进行编码。
  • p_async
    可选的。默认值为“true”。一个 Boolean 值,表示是否采用异步调用。true 表示异步调用;false 表示同步调用。
  • p_callback
    可选的。一个 Function 对象,表示回调方法。方法的原型为 function(p_context),其中 p_context 是一个 JSON 对象,其中 successful 表示调用是否成功,如果成功则返回 true,并且可通过 result 字段获取返回值;如果失败则返回 false,并且可通过 error 字段获取失败的异常对象。

sendSync(p_path, p_method, [p_data]) 方法

以同步方式进行 REST 服务调用,并返回服务端的响应结果,通常是一个字符串或一个 JSON 对象。当确定使用 HTTP 方法时,建议直接使用 getSyncpostSync 等方法。

参数

  • p_path
    指定的 REST 服务路径,可以是以“~/”开头的绝对路径,如“~/rest/is/appsuites”;也可以是相对于 baseUrl 的相对路径,如 baseUrl 字段的值是“~/rest/is/”,这时 p_path 参数可被简写为“/appsuites”或“appsuites”。
  • p_method
    指定 HTTP 方法的名称。如“GET”、“POST”等。
  • p_data
    可选的。指定传入的参数信息。通常是一个 JSON 对象。如 { id: 1984, name: "中文" } 会被转换成“id=1984&name=%E4%B8%AD%E6%96%87”作为参数拼入 URL(使用 HTTP POST 方法时,是作为内容传递),其中中文部分会使用 UTF-8 进行编码。

setBaseUrl(p_baseUrl) 方法

设置 baseUrl 字段的值。

参数

  • p_baseUrl
    提供 RESTClient 的根 URL。

字段详细信息

async 字段

获取或设置一个布尔值,表示请求是否使用同步, 值为 null 或 true 时表示异步,值为 false 时表示同步。

默认值

null

baseUrl 字段

获取 RESTClient 的基 URL。通常以“~”开头,表示相对于模块上下文的根路径,并以“/”结尾;如“~/rest/service/”;如果以“~/../”开头,表示相对于模块的根路径,并以“/”结尾。 如果设置了基 URL,则所有方法中传递的 path 都会以该 URL 为相对路径。

mode 字段

获取或者设置服务请求的模式。

该参数常见值包括:

  • default
  • 表示根据 async 进行异步或同步请求的发送。
  • queue
  • 表示以请求队列的方式发出 AJAX 请求,在前一个请求结束之前不会发出新的请求。

默认值

default

timeout 字段

获取或设置一个数字,表示超时时间,以毫秒为单位。

默认值

60000