首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >REST和RESTful WS

REST和RESTful WS
EN

Stack Overflow用户
提问于 2016-09-04 11:08:08
回答 2查看 89关注 0票数 0

我在高级(不是非常详尽的)工作过RESTful worked,编码了很少的基于REST的Web服务。

为了开始我在RESTful WS的旅程,我阅读了在线文章(wiki、在线教程等)。我逐渐认识到,它是一种指定约束的体系结构风格,当应用于web服务时,会产生所需的属性,如性能、可伸缩性等。好的,这是这个概念的理论部分。

一个使用JAX-RS的简单示例

代码语言:javascript
复制
@Path("/simple")
public class SimpleRESTService {

    @GET
    @Path("/{param}")
    public Response getMsg(@PathParam("param") String message) {
        String output = "Jersey say : " + message;
        return Response.status(200).entity(output).build();
    }
}

我的怀疑是:

如果REST是一种架构风格(并且使用这些准则构建RESTful web服务),那么JAX-RS会做什么呢?据我所知,REST只是架构风格,而不是任何规范,JAX与此有什么关系?我很难理解这两个实体之间的关系。

有人能用简单的话帮助我理解这一点吗。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-04 11:16:53

REST确实是一种构建独立于应用层协议的web服务的体系结构风格(它也可以通过FTP或HTTP实现)。

JAX只是Java的一个标准化API,您可以使用它轻松地在Java中实现RESTful服务。它是开发人员卸下负担的工具包,作为Java的一部分,它是在应用服务器中实现的,比如WildFly。

但是请注意,在像Spring这样的框架中使用Spring和模块创建REST服务是尽可能的。

编辑:

虽然REST是一种定义良好的体系结构风格,但它(正如您提到的)不是规范,所以开发人员对REST有很多模糊的地方。

简而言之,它所述的只是“嘿,伙计,如果你以这种方式和这种方式使用通信协议(例如HTTP),您将非常方便地进行更改和扩展,并且您的服务的客户可以很直接地与您交谈”。

JAX-RS使您能够使用动态部件(例如:/api/jediknight/{ id })定义服务终结点,这样id可以是任何内容,这样就可以更容易地以您(或您的客户端)所希望的格式对客户机进行响应,比如XML或JSON。它提供了方便的包装器对象,可以将响应体与状态代码和头以及许多其他方便的东西包装在一起。

然而,问题是:作为一个开发人员,遵循REST风格的所阐明的原则仍然是您的责任。没有任何东西是由JAX-RS强加给你的。

公平地说,您甚至可以通过使用稍微低级的Servlet来实现RESTful web服务。JAX只是对你隐藏不必要的细节,使你的生活更容易。

我希望它变得更清楚了:)

票数 1
EN

Stack Overflow用户

发布于 2016-09-04 11:13:52

(JAX),是用于开发人员REST服务的一组if API。JAX是Java EE6的一部分,使开发人员能够轻松地开发REST应用程序。

你可以在这里读到更多:http://www.mkyong.com/tutorials/jax-rs-tutorials/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39316243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档