Java 什么是JAX-RS资源?

Java 什么是JAX-RS资源?,java,resources,jax-rs,Java,Resources,Jax Rs,我不断听到JAX-RS中的“资源”这个词,我不知道它是什么意思。我知道什么是JAX-RSWeb服务。我经常创建它们,但我发现“资源”这个词非常模糊。JAX-RS是或可以是很多东西,所以每次我听到世界“资源”时,我的大脑都会将其解释为“神奇的神秘事物,我们不知道它是什么”。用最明确的术语来说,什么是JAX-RS资源?是客户吗?服务器?任何一个还有别的吗?“资源”这个词似乎到处都是,但我在代码中几乎找不到resource类型的Java对象。还有Spring和ORM映射注释 如果我是911接线员,在一

我不断听到JAX-RS中的“资源”这个词,我不知道它是什么意思。我知道什么是JAX-RSWeb服务。我经常创建它们,但我发现“资源”这个词非常模糊。JAX-RS是或可以是很多东西,所以每次我听到世界“资源”时,我的大脑都会将其解释为“神奇的神秘事物,我们不知道它是什么”。用最明确的术语来说,什么是JAX-RS资源?是客户吗?服务器?任何一个还有别的吗?“资源”这个词似乎到处都是,但我在代码中几乎找不到resource类型的Java对象。还有Spring和ORM映射注释

如果我是911接线员,在一次可怕的事故后,你打电话给我,让我把自己重新接好,那么我可能会给你一个“医疗资源”。是一个叫乔的技工从护理学校辍学,骑着自行车,还是一个救护车上的真正的护理人员?;-)


乔正在做手术。还有什么遗言吗??;-)

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

资源是指它所联系的任何正在响应的对象。资源的行为由其响应的HTTP方法决定

只要想想URL和URI,统一资源定位器,统一资源标识符。。。资源是到stuff的映射…

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

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

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

    -,第11页

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

    -

  • RESTful资源:

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

    -

    正如Sergey在回答中提到的,名称“resource”来自REST资源的定义。实际上,在使用JAX-RS实现的Java代码中,它通常指的是一个资源类,一个具有处理与同一实体相关的REST HTTP API端点的方法的Java类。HTTP请求方法定义实体上的预期操作。处理song实体并通常在单个JAX-RS资源类的方法中实现的端点示例:

    • /歌曲,获取方法(列出所有歌曲)
    • /歌曲,发布方法(创建歌曲)
    • /歌曲,删除方法(删除所有歌曲)
    • /歌曲/1,获取方法(获取歌曲1数据)
    • /song/1,PUT方法或/song/1,修补方法(更新song 1)
    • /歌曲/1,删除(删除歌曲1)

    因此资源是保存web服务方法调用的类。。。或者还有更多?在短语“资源是什么…”中,“它”是什么/谁?因此,如果资源具有根据REST标准确定的行为,那么资源必须是类,因为这些行为在Java语言的类中定义为带注释的方法调用。你的声明甚至说“资源类”。我认为这意味着资源是一个具有特定JAX-RS注释的类?指定?想想URI和URL,它们是统一的资源定位符和标识符。你通过http、文档、图像等获得的任何东西。如果它在你的笔记本电脑上,你直接打开它,它就不是资源。如果您使用http获取它,则通过uri它是一个资源。资源映射和资源方法是关于确定行为的。在某种程度上,您可以说资源是uri另一端上的实体的映射。根据定义,POJO不依赖于任何类路径,也没有注释,这与根ressource类实现不同。这有点令人困惑。对此有何解释?