Web服务 – 什么好的开源REST Web服务技术在那里?

Web服务 – 什么好的开源REST Web服务技术在那里?,第1张

概述我正在寻找一个可怕的.NET(WCF)REST功能的替代品. 为什么? 我对开放源码技术很感兴趣,但是对于webservices来说,除了.NET webservices之外,我没有任何经验. 此外,我目前正在使用大量的Java和Python,而我正在从Microsoft技术栈移开. 请用任何编程语言来建议替代方案,但是要解释为什么它是好还是更好的原因. (这个原因可能与语言的选择密切相关) 我想 我正在寻找一个可怕的.NET(WCF)REST功能的替代品.

为什么?

我对开放源码技术很感兴趣,但是对于webservices来说,除了.NET webservices之外,我没有任何经验.

此外,我目前正在使用大量的Java和Python,而我正在从Microsoft技术栈移开.

请用任何编程语言来建议替代方案,但是要解释为什么它是好还是更好的原因. (这个原因可能与语言的选择密切相关)

我想知道什么?

>使用方便

>安装
>配置
>生成能力
> IDE集成
>部署

>学习曲线
利弊
>等

解决方法 Spring 3.0 REST:

Spring使用基于注释的控制器,可用于将URL绑定到控制器中的方法.注释用于区分GET方法和POST方法.

@RequestMapPing(value="/hotels/{hotel}/bookings/{booking}",method=RequestMethod.GET)public String getBooking(@PathVariable("hotel") long hotelID,@PathVariable("booking")     long bookingID,Model model) {    Hotel hotel = hotelService.getHotel(hotelID);    Booking booking = hotel.getBooking(bookingID);    model.addAttribute("booking",booking);    return "booking";}

在引擎盖下,URI字符串中的变量“hotel”也被转换为参数列表中的一个长. Spring REST还可以使用相同的技术将JsON对象编入自定义类.请注意,此方法注释为RequestMethod.GET,这意味着它被调用为GET请求而不是POST请求.

Spring 3.0 REST使得创建RESTful Web服务变得更加容易,无需重新开发轮子,也可以通过手工从/对Java对象进行组装/解组JsON文本.

在SpringSource博客上有一个演示文稿,即REST In Spring MVC.学习曲线很低,但是由于依赖关系,让演示工作可能需要一些时间.一旦你得到安装并且有一个工作的演示,最难的部分应该结束.

对于IDE集成,请查看Spring Roo.我没有使用它,但我听说它有一些与Eclipse IDE集成的功能,使您的生活更轻松.

Restlets:

Restlets仅用于REST.因此,开销比Spring 3.0低很多. Restlets更适合您没有GUI的情况,以及您不关心MVC的情况. Restlet可以轻松地用作服务器和客户端.它还具有可以运行的嵌入式服务器,无需像Jetty或Tomcat这样的容器.

我很少接触到Python,但是从我看到Google App Engine实现的webApp框架看,路由器的概念感觉非常相似.具有Python背景的人可能会发现学习曲线要​​低得多:

@OverrIDepublic Restlet createInboundRoot() {    Router router = new Router(getContext());    getConnectorService().getClIEntProtocols().add(Protocol.file);    // Serve the files generated by the GWT compilation step.    Directory dir = new Directory(getContext(),LocalReference.createfileReference(new file("war/")));    router.attachDefault(dir);    router.attach("/contacts/123",ContactServerResource.class);    return router;}

它在客户端使用GWT;我更喜欢把这个部分,因为它提醒我太多的Java Swing.虽然有些人可能会发现有利,但我个人的喜好是坚持使用更像Web的技术.

以下是使用独立模式的REST服务器的简单示例.服务器在端口8182上运行,它监听GET请求.它具有与Spring REST框架类似的基于注释的模型,它也有助于拆分不同的http方法,并将它们指向类中不同的方法.这是一个非常基本的“Hello World”REST示例:

public class FirstServerResource extends ServerResource {     public static voID main(String[] args) throws Exception {        // Create the http server and Listen on port 8182        new Server(Protocol.http,8182,FirstServerResource.class).start();     }   @Get     public String toString() {        return "hello,world";     }}

查看Restlet Web Site有关Restlets框架的更多信息和示例. Restlet的学习曲线略逊于Spring,因为它的目标是REST;因此,它不包含Spring中包含的所有额外功能,有时可以使问题难以找到答案.如果你正在寻找轻量级的东西,Restlet绝对是要走的路.

这两个框架都将在Tomcat,Jetty以及Google App Engine中运行.

总结

以上是内存溢出为你收集整理的Web服务 – 什么好的开源REST Web服务技术在那里?全部内容,希望文章能够帮你解决Web服务 – 什么好的开源REST Web服务技术在那里?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1089738.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存