REST 在 2000 年由 Roy Fielding 在博士论文中提出,他是 HTTP 规范 1.0 和 1.1 版的首席作者之一。
REST 中最重要的概念是资源(resources),使用全球 ID(通常使用 URI)标识。客户端应用程序使用 HTTP 方法(GET/ POST/ PUT/ DELETE)操作资源或资源集。RESTful Web 服务是使用 HTTP 和 REST 原理实现的 Web 服务。
通常,RESTful Web 服务应该定义以下方面:
对应我们日常说的CRUD.
方法/资源 资源集合; URI:http://host/api/resources 成员资源; URI:http://host/api/resources/123 对应的操作
GET 列出资源集合的所有成员。 检索标识为 123 的资源的表示形式。 R(读取)
PUT 使用一个集合更新(替换)另一个集合。 更新标记为 123 的数字资源。 U(更新)
POST 在集合中创建数字资源,其 ID 是自动分配的 在下面创建一个子资源。 C(创建)
DELETE 删除整个资源集合。 删除标记为 123 的数字资源。 D(删除)
@Path,路径信息,表示映射出去的访问路径。
@Path("/myResource")
@Produces,用于限制post和get方法返回的参数类型,支持json、string、xml、html
@Produces({"application/xml", "application/json"})
@Consumes,用于限制输入的参数的类型,支持json、string、xml、html
@Consumes("text/plain")
@QueryParam,@DefaultValue,通过request传入的参数,@DefaultValue表示默认参数。
@DefaultValue("2") @QueryParam("step") int step,
@PathParam ,@ MatrixParam,@ HeaderParam,@ CookieParam和@@ QueryParam FormParam听从以相同的规则。
@ MatrixParam提取URL路径段的信息。
@ FormParam略有特殊,因为它提取请求表示,该类型匹配前面的@Consumes所声明的类型
@POST
@Consumes("application/x-www-form-urlencoded")
public void post(@FormParam("name") String name) {
pojo层面等相关注解,@XmlRootElement,支持JPA注解。
Spring相关注解,比如@Autowired(required=true) 、@Qualifier("persionDao")、@Component
@Scope("request")