Java JAX-RS/REST资源到底是什么?

Java JAX-RS/REST资源到底是什么?,java,rest,Java,Rest,资源是REST的基本概念之一。REST强调对资源的操作,而不是发出函数调用。资源具有唯一标识符。在HTTP术语中,这意味着将每个资源与至少一个URL关联 作为一种资源,我们应该实现什么?它是一组功能、一个对象还是多个对象?请参见: 使用JAX-RS,Web资源被实现为资源类和 请求由资源方法处理 资源类是一个Java类,它使用JAX-RS注释 实现相应的Web资源。资源类是POJO 至少有一个方法用@Path或请求方法注释的 指示器 所以基本上它是一个类,通常带有@Path注释 @Path("

资源是REST的基本概念之一。REST强调对资源的操作,而不是发出函数调用。资源具有唯一标识符。在HTTP术语中,这意味着将每个资源与至少一个URL关联

作为一种资源,我们应该实现什么?它是一组功能、一个对象还是多个对象?

请参见:

使用JAX-RS,Web资源被实现为资源类和 请求由资源方法处理

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

所以基本上它是一个类,通常带有
@Path
注释

@Path("/")
public class HelloWorldResource {
 ...
}
资源方法是用 请求方法指示符

资源方法是一种方法,通常用
@GET
@POST
或其他注释:

@GET
public String getHello() {
   return "Hello";
}
请求方法指示符是经过注释的运行时注释 使用@HttpMethod注释。JAX-RS定义了一组请求 常用HTTP方法的方法标识符:@GET、@POST、@PUT、, @删除、@HEAD和@OPTIONS。用户可以定义自己的自定义请求 方法指示符,包括公共HTTP的备用指示符 方法

有关更多详细信息,请参阅关于资源

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

资源的这种抽象定义支持Web体系结构的关键特性。首先,它提供了通用性,它包含了许多信息源,而没有人为地根据类型或实现来区分它们。其次,它允许对表示的引用进行后期绑定,从而允许根据请求的特征进行内容协商。最后,它允许作者引用该概念,而不是该概念的某些单一表示,从而消除了在表示发生更改时更改所有现有链接的需要(假设作者使用了正确的标识符)

作为一种资源,我们应该实现什么?它是一组功能、一个对象、多个对象

几乎所有具有一个或多个可序列化为字节流的表示的内容


大多数URI(统一资源标识符)的设计准则都要求使用名词,而不是动词,用资源是逻辑实体的论点来证明这一点。

Nice FIELDING完全可以理解。非常感谢。