什么是JAX-RS资源?

时间:2017-08-13 23:00:47

标签: java resources jax-rs

我一直听到关于JAX-RS的“资源”这个词,我不知道它意味着什么。我知道JAX-RS Web服务是什么。我经常创建它们但我觉得“资源”这个词很模糊。 JAX-RS有很多东西,或者可以是,所以每当我听到这个世界和资源时,我的大脑都将它解释为“神奇的神秘事物”,我们不知道什么&#34 ;.在最明确的术语中,什么是JAX-RS资源?是客户吗?服务器?要么?还有其他什么吗?资源这个词似乎被抛到一切,但我几乎找不到代码中Resource类型的Java对象。然后是Spring& ORM映射注释..

如果我是一名911操作员并且在一次可怕的事故后你打电话让我自己拼凑起来,那么我可能会给你一个“医疗资源”。那是一个名叫乔的机械师从医护学校辍学并骑自行车,还是救护车里真正的救护人员? ;-)

乔正在擦洗手术。任何遗言? ;-)

3 个答案:

答案 0 :(得分:1)

JAX-RS资源类(参见下面的“根资源类”)用于表示RESTful资源。参考文献:

  1.   

    第3章资源

         

    使用JAX-RS,Web资源作为资源类实现,请求由资源方法处理。本章详细介绍了资源类和资源方法。

         

    3.1资源类

         

    资源类是一个Java类,它使用JAX-RS注释来实现相应的Web资源。资源类是POJO,至少有一个使用@Path或请求方法指示符注释的方法。

         

    - JSR 339: JAX-RS 2.0: The Java API for RESTful Web Services, Version 2.0 Final Release,第11页。

  2.   

    根资源类是“普通旧Java对象”(POJO),它们使用@Path注释,或者至少有一个使用@Path注释的方法或请求方法指示符,例如{{1 },@GET@PUT@POST。资源方法是使用请求方法指示符注释的资源类的方法。本节介绍如何使用JAX-RS注释Java类来创建RESTful Web服务。

         

    - 29.2 Creating a RESTful Root Resource Class - Java Platform, Enterprise Edition: The Java EE Tutorial (Release 7)

  3. RESTful资源:

      

    5.2.1.1资源和资源标识符

         

    REST中信息的关键抽象是一种资源。可以命名的任何信息都可以是资源:文档或图像,临时服务(例如“洛杉矶的今天天气”),其他资源的集合,非虚拟对象(例如人)等等。换句话说,任何可能是作者超文本引用目标的概念都必须符合资源的定义。资源是对一组实体的概念映射,而不是与任何特定时间点的映射相对应的实体。

         

    - Fielding Dissertation: CHAPTER 5: Representational State Transfer (REST)

答案 1 :(得分:0)

资源方法是使用请求方法指示符(如@ GET,@ PUT,@ POST或@DELETE)注释的资源类的方法。

资源就是它所响应的联系。资源的行为由它响应的HTTP方法确定。

想想URL和URI,统一资源定位器,统一资源标识符...... http://examaple.com/mystuff资源是这些东西的映射......

答案 2 :(得分:0)

名称“资源”来自 REST 资源的定义,如 Sergey 的回答中所述。在实践中,在使用 JAX-RS 实现的 Java 代码中,它通常指的是一个资源类,一个 Java 类,其方法处理与同一实体相关的 REST HTTP API 端点。 HTTP 请求方法定义了对实体的预期操作。处理歌曲实体的端点示例,通常在单个 JAX-RS 资源类的方法中实现:

  • /song, GET 方法(列出所有歌曲)
  • /song, POST 方法(创建歌曲)
  • /song, DELETE 方法(删除所有歌曲)
  • /song/1,GET方法(获取歌曲1数据)
  • /song/1,PUT 方法或 /song/1,PATCH 方法(更新歌曲 1)
  • /song/1, DELETE(删除歌曲 1)