REST

阅读更多

REST首先是一个词,然后代表了一种服务提供模式。嗯,圣贤说,任意服务协议,都可以拆成传输协议,服务模式,数据格式三维表达,那REST就是依赖http作为传输机制,request-reponse模式,数据是预先协商好的任意格式。

    结果,任何语言的客户端,随便用一个http库访问某个URL,将请求信息写成XML或JSON或纯字符串,放在POST实体中。服务端也任意的实现一个servlet甚至jsp/asp/php,接收客户端发过来的请求,返回XML/JSON/字符串的结果就完了。

So Easy,心里是不是立刻就想到了实现的方式。Java里用Apache的HttpClient  发送一个POST请求。

HttpClient httpClient = new HttpClient();
EntityEnclosingMethod method = new PostMethod(url); method.setRequestBody(fooXml);
method.setRequestHeader("Content-type","application/xml; charset=utf8");
httpClient.executeMethod(method);
String body = method.getResponseBodyAsString();  

    另外一个XML/JSON的操作库,严重推荐codehaus的xstream ,很漂亮的在xml/json和java对象间转换。比其他重型的xml binding方案便捷得多,下面是xml与java对象互转的代码。

Xstream  xs = new Xstream();
String xml = xs.toXML(foo);
Foo foo = (Foo)xs.FromXML(xml);   

    .Net下面就更简单,http库和xml库都自带了。
     这是个最吸引人的地方,就是REST里,写服务不再是一个框架级的事情,不再需要配置文件和回调函数,只要懂几个API,甚至API都不要,白手DIY出服务来。InfoQ的这篇文章不错:Simple JAVA and .NET SOA interoperability 

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/calvinxiu/archive/2007/06/15/1653414.aspx

 

 

你可能感兴趣的:(REST,json,XML,ASP.net,SOA)