在JAVA世界中是否有与ASP.NET WEB API相同的东西?

时间:2014-04-14 10:13:17

标签: java asp.net

我几年来一直是.NET Web开发人员,使用asp.net网络表单和c#,wcf等。但最近开发了支持触摸客户的应用程序。 其设备无关应用程序专为任何能够运行HTML5应用程序(iOS,Android,Windows8)的平台而设计,适用于移动设备(如平板电脑), 辅助或无辅助的信息亭,笔记本电脑或台式电脑。

我们使用asp.net webapi,ASP.net MVC 4.0框架,Jquery移动库,HTML 5,信号R进行开发。

我们是否可以在Java下迁移或转换完整的服务器端代码(即控制器方法)?

Apache tomcat服务器或(webspehere)是否支持PUT,DELETE等动词以及GET和POST?

Java世界中可用的任何与ASP.NET SignalR功能相同的东西?

在java中开发支持设备aganostic触摸的应用程序所需的软件或库是什么?

我认为Web API客观上胜过以下几个关键领域的其他API。

内容谈判, 灵活性, 关注点分离

Spring MVC API或Jersey API将在多大程度上支持上述领域?

3 个答案:

答案 0 :(得分:5)

  

我们是否可以迁移或转换完整的服务器端   Java下的代码(即控制器方法)

你可以,但它不是很容易,因为没有直接映射apis,但你可以使用类似的apis。有很多人已经做到了

  

Apache tomcat服务器或(webspehere)是否支持像PUT这样的动词,   删除加入GET和POST?

是可以在Tomcat或任何符合JEE标准的App服务器中启用/禁用所有HTTP命令

  

Java世界中可用的任何与ASP.NET SignalR等效的东西   功能?

DWR(直接网络远程处理),Vaadin,GWT等。但我相信还有更多。

  

开发设备所需的软件或库是什么   Java中的aganostic touch启用应用程序?

JavaMe,Android,GWT-Touch。此link也可能对您有帮助。

Java rest Apis

  1. Apache CXF,一个开源Web服务框架。
  2. Jersey,来自Sun(现为Oracle)的参考实现。
  3. RESTeasy,JBoss的实施。
  4. Apache Wink,Apache Software Foundation Incubator项目,服务器模块实现JAX-RS。
  5. Apache Tuscany(http://tuscany.apache.org/documentation-2x/sca-java-bindingrest.html
  6. 希望这有帮助。

答案 1 :(得分:3)

Jersey (jax-rs)是Java World中ASP.NET Web API的一个非常可靠的替代方案。

  

Jersey RESTful Web Services框架是开源的,生产的   质量,用Java开发RESTful Web服务的框架......

它是一种基于注释的问题解决方法。我认为这是一个非常好思想和富有成效的环境。您可以自定义各种内容,其中包含合理的默认值。

答案 2 :(得分:1)

答案是肯定的,您可以使用spring框架在Java中创建restful Web服务。这是代码看起来如何的例子

import java.util.concurrent.atomic.AtomicLong;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class GreetingController {

private static final String template = "Hello, %s!";
private final AtomicLong counter = new AtomicLong();

@RequestMapping("/greeting")
public Greeting greeting(@RequestParam(value="name", defaultValue="World") String name) {
    return new Greeting(counter.incrementAndGet(),
                        String.format(template, name));
}

}

链接:http://spring.io/guides/gs/rest-service/