`
wb1991wb
  • 浏览: 157155 次
  • 来自: 上海
社区版块
存档分类
最新评论

REST 样式 Web 服务请求

 
阅读更多

REST 样式 Web 服务使用 HTTP 方法动词指定基本动作,并使用 URL 变量指定动作详细信息。例如,请求获得某个项目的数据时可以使用 GET 动词和 URL 变量指定方法名称和项目 ID。生成的 URL 字符串可能是:

http://service.example.com/?method=getItem&id=d3452

 

要使用 ActionScript 访问 REST 样式 Web 服务,您可以使用 URLRequest、URLVariables 和 URLLoader 类。在 AIR 应用程序内的 JavaScript 代码中,您还可以使用 XMLHttpRequest。

在 ActionScript 中编程 REST 样式 Web 服务调用,通常包括下列步骤:

  1. 创建 URLRequest 对象。

  2. 针对请求对象设置服务 URL 和 HTTP 方法动词。

  3. 创建 URLVariables 对象。

  4. 将服务调用参数设置为变量对象的动态属性。

  5. 将变量对象分配给请求对象的数据属性。

  6. 使用 URLLoader 对象将调用发送到服务。

  7. 处理由 URLLoader 调度的complete事件,指示服务调用已完成。还应该侦听可由 URLLoader 对象调度的多个错误事件。

例如,请考虑一种用于公开测试方法的 Web 服务,该方法将调用参数回显给请求者。可使用以下 ActionScript 代码调用此服务:

import flash.events.Event; 
import flash.events.ErrorEvent; 
import flash.events.IOErrorEvent; 
import flash.events.SecurityErrorEvent; 
import flash.net.URLLoader; 
import flash.net.URLRequest; 
import flash.net.URLRequestMethod; 
import flash.net.URLVariables; 
 
private var requestor:URLLoader = new URLLoader(); 
public function restServiceCall():void 
{ 
    //Create the HTTP request object 
    var request:URLRequest = new URLRequest( "http://service.example.com/" ); 
    request.method = URLRequestMethod.GET; 
     
    //Add the URL variables 
    var variables:URLVariables = new URLVariables(); 
    variables.method = "test.echo"; 
    variables.api_key = "123456ABC"; 
    variables.message = "Able was I, ere I saw Elba.";             
    request.data = variables; 
     
    //Initiate the transaction 
    requestor = new URLLoader(); 
    requestor.addEventListener( Event.COMPLETE, httpRequestComplete ); 
    requestor.addEventListener( IOErrorEvent.IOERROR, httpRequestError ); 
    requestor.addEventListener( SecurityErrorEvent.SECURITY_ERROR, httpRequestError ); 
    requestor.load( request ); 
} 
private function httpRequestComplete( event:Event ):void 
{ 
    trace( event.target.data );     
} 
 
private function httpRequestError( error:ErrorEvent ):void{ 
    trace( "An error occured: " + error.message );     
}

 

在 AIR 应用程序内的 JavaScript 中,您可以使用 XMLHttpRequest 对象提出相同请求:

<html> 
<head><title>RESTful web service request</title> 
<script type="text/javascript"> 
 
function makeRequest() 
{ 
    var requestDisplay = document.getElementById( "request" ); 
    var resultDisplay  = document.getElementById( "result" ); 
     
    //Create a conveninece object to hold the call properties 
    var request = {}; 
    request.URL = "http://service.example.com/"; 
    request.method = "test.echo"; 
    request.HTTPmethod = "GET"; 
    request.parameters = {}; 
    request.parameters.api_key = "ABCDEF123"; 
    request.parameters.message = "Able was I ere I saw Elba."; 
    var requestURL = makeURL( request ); 
    xmlhttp = new XMLHttpRequest(); 
    xmlhttp.open( request.HTTPmethod, requestURL, true); 
    xmlhttp.onreadystatechange = function() { 
        if (xmlhttp.readyState == 4) { 
            resultDisplay.innerHTML = xmlhttp.responseText; 
        } 
    } 
    xmlhttp.send(null); 
     
    requestDisplay.innerHTML = requestURL; 
} 
//Convert the request object into a properly formatted URL 
function makeURL( request ) 
{ 
    var url = request.URL + "?method=" + escape( request.method ); 
    for( var property in request.parameters ) 
    { 
        url += "&" + property + "=" + escape( request.parameters[property] ); 
    } 
     
    return url; 
} 
</script> 
</head> 
<body onload="makeRequest()"> 
<h1>Request:</h1> 
<div id="request"></div> 
<h1>Result:</h1> 
<div id="result"></div> 
</body> 
</html>

 

分享到:
评论

相关推荐

    MyEclipse REST Web Service 简单的实现例子

    在当今互联网技术日新月异的时代,REST(Representational State Transfer)架构风格已成为构建Web服务的重要方式,它强调资源的表述和状态转换,简单易用且具有高度可扩展性。MyEclipse,作为一款强大的Java集成...

    JAVA.WEB服务.构建与运行

     · 理解基于SOAP的和REST样式的服务的区别  · 编写、部署和使用基于SOAP的核心Java服务  · 理解Web服务描述语言(WSDL)服务契约  · 认识SOAP消息的结构  · 学习如何交付基于Java的RESTful Web服务和消耗...

    geoserver通过rest自动发布postigs图层

    4. **自动发布图层**:通过GeoServer的REST API,可以编写脚本或程序自动创建工作空间、连接PostGIS数据源、定义图层,并发布为Web服务。这种方式在需要频繁更新地图服务或者有大量图层需要发布的场景下尤其有用。 ...

    wcfrest的实现

    对于REST服务,通常使用`WebHttpBinding`,并启用`WebHttp`行为以支持REST样式请求。 4. **路由服务**: WCF REST 支持路由服务,允许更灵活的URL路由策略。通过添加`System.ServiceModel.Routing`命名空间,可以...

    JavaScript客户端-在调用REST地图服务的同时使用5.0预缓存

    JavaScript客户端在调用REST地图服务时使用5.0预缓存是一种优化Web应用程序性能的策略。REST(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,基于HTTP协议,允许客户端通过URL来获取、...

    Rest WCF资源文件

    在这个阶段,开发者通常会创建一个新的WCF服务类,定义服务接口,并配置服务行为以支持HTTP协议和REST样式。 3. **CompletedSolution:完成的解决方案** "CompletedSolution"文件可能包含了一个完整的RESTful WCF...

    geoserver-rest-python-1.1

    1. **源代码**:包含Python模块,如`geoserver.py`,用于封装REST API的请求和响应处理。 2. **测试套件**:如`test_geoserver.py`,用于验证代码功能的正确性和性能。 3. **文档**:可能有`README.md`或`docs/`目录...

    Web-References.rar_The Web

    7. **Web服务**:包括SOAP(简单对象访问协议)和REST(表述性状态转移),用于不同系统间的数据交换。RESTful API通常更简洁,广泛用于现代Web应用。 8. **Web开发框架**:如Angular、React和Vue.js,它们提供了一...

    JavaScriptRest地图与WMS地图的叠加

    JavaScript REST地图与WMS地图的叠加是WebGIS应用中常见的技术操作,主要涉及SuperMap iClient 6R库以及WMS(Web Map Service)服务。本文将深入探讨这两种地图服务的叠加原理,以及如何在JavaScript环境中实现这一...

    使用 XML-RPC 为 C++ 应用程序启用 Web 服务

    Web 服务协议如 SOAP、REST 和 XML-RPC 提供了将这些遗留应用程序与网络集成的途径。本文主要关注 XML-RPC,这是一种简单且轻量级的消息传递协议,支持基于 XML 的跨平台通信,特别适合 C++ 应用程序。 **为什么要...

    web计算课件---计算机专业选修课

    常见的Web服务标准有SOAP、REST,以及现在流行的GraphQL。API(Application Programming Interface)则是软件间交互的接口,通过API,开发者可以利用Web服务提供的功能,构建自己的应用程序。 六、分布式系统 Web...

    学籍管理系统 WebRoot

    7. **服务器配置**:Web服务器如Apache、Tomcat或Nginx会配置指向WebRoot目录,以便正确地服务HTTP请求。服务器配置文件(如Apache的httpd.conf或Tomcat的server.xml)会定义端口、虚拟主机、重定向规则等。 8. **...

    Web程序设计11 Web程序设计11 Web程序设计11

    REST(Representational State Transfer)是一种架构风格,用于构建可扩展的网络服务,使得客户端和服务器之间的通信更加简洁、高效。 数据库交互是Web应用的重要组成部分。MySQL、MongoDB和PostgreSQL等数据库系统...

    JasperReports-Server-Web-Services-Guide.pdf

    综上所述,《JasperReports Server Web Services Guide》是一本全面的指南,不仅介绍了REST和SOAP网络服务的基本概念,还深入探讨了如何利用这些服务来增强JasperReports Server的功能,提高报表管理和数据分析的...

    java调用webservices

    在现代软件开发中,特别是Java企业级应用领域,Web服务(Web Services)扮演着至关重要的角色。它是一种平台独立的、分布式计算技术,用于实现不同应用程序间的交互。本文将详细介绍如何使用Java语言调用Web服务,并...

    web开发网站技术

    表示性状态传输(REST)是构建web服务的一种架构风格。RESTful API允许前端应用通过HTTP请求与后端服务器交互,进而实现数据的增删改查操作。 #### 服务器软件和平台 Web服务器如Apache、Nginx负责处理HTTP请求,而...

    从零开始学JAVA-WEB开发.

    9. **RESTful API设计**:REST(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,常用于构建Web服务。了解如何设计RESTful API可以帮助你创建高效、可扩展的Web应用。 10. **版本控制...

    Advanced-REST-client_v10.0.12

    在"Advanced-REST-client_v10.0.12"中,`manifest.json`会声明插件需要的浏览器权限,例如访问网络、读写本地存储等。 `elements` 文件夹可能包含了自定义的Web组件,这些组件可能被用来构建插件的用户界面。它们...

    web_学生信息系统网站_

    2. CSS(Cascading Style Sheets):用于控制网页样式的样式表语言,使网页具有良好的视觉效果和用户体验。 3. JavaScript:客户端脚本语言,用于增加网页交互性和动态功能,如表单验证、时间更新等。 二、Web框架 ...

    Web on Servlet Stack

    - **CORS**:跨源资源共享(CORS)是一种安全机制,允许从不同源的Web页面请求资源。Spring Web MVC提供了多种方式来支持CORS: - **Introduction**:介绍CORS的基本概念及其在现代Web开发中的重要性。 - **@...

Global site tag (gtag.js) - Google Analytics