Tag:

HATEOAS:简洁的描述

我试图得到对HATEOAS的清晰和简明的理解,而我绝不是一个专家WRT REST(我想我明白了,这要感谢http://tomayko.com/writings/rest-to-my-妻子 ) 任何人都可以build议一个同样令人生气的博客/文章WRT HATEOAS?

REST HATEOAS(成熟度等级3)有多么重要?

我参与了一个项目,一些高级团队成员认为REST API必须符合HATEOAS标准,并实施所有Richardson的成熟级别( http://martinfowler.com/articles/richardsonMaturityModel.html )! AFAIK大多数REST实现不符合HATEOAS标准,应该有更多人不这样做的充分理由。 我可以想到的原因,如增加复杂性,缺乏框架(服务器和客户端),性能问题和… 你怎么看? 你有没有与HATEOAS在现实世界项目中的经验?

HATEOAS:绝对或相对的url?

在使用HATEOASdeviseREST风格的Web服务时,将链接显示为完整的URL(“ http:// server:port / application / customers / 1234 ”)与只显示path(“/ application /客户/ 1234" )?

那REST API真的是RPC吗? 罗伊·菲尔丁似乎认为如此

我认为我所知道的REST的大部分显然是错误的 – 我并不孤单。 这个问题有很长的导入,但似乎是必要的,因为信息有点分散。 如果你已经熟悉这个话题,最后的问题就来了。 从Roy Fielding的REST API的第一段必须是超文本驱动的 ,很清楚他相信他的工作正在被广泛的误解: 我感到沮丧的人调用任何基于HTTP的接口REST API的人数。 今天的例子是SocialSite REST API 。 这是RPC。 它尖叫着RPC。 显示器上有这么多的耦合,应该给它一个X等级。 Fielding继续列出REST API的几个属性。 他们中的一些人似乎不赞成SO和其他论坛的惯例和共同意见。 例如: 除了最初的URI(书签)和适合于目标受众的标准化媒体types(即预期被任何可能使用API​​的客户端所理解)的集合之外,REST API应该在没有任何先前知识的情况下被input。 … REST API不能定义固定的资源名称或层次结构(客户端和服务器明显的耦合)。 … REST API应该花费几乎所有的描述性努力来定义用于表示资源和驱动应用程序状态的媒体types,或者为现有标准媒体types定义扩展关系名称和/或启用超文本的标记。 … “超文本”的概念起着核心的作用 – 比URI结构或HTTP动词更重要。 “超文本”是在其中一个评论中定义的: 当我(Fielding)说超文本时,我的意思是同时呈现信息和控制,使得信息成为用户(或自动机)通过其获得select和select动作的可供件。 超媒体只是文本意味着在媒体stream中包含时间锚的扩展; 大多数研究者已经放弃了这一区分 超文本在浏览器上不需要是HTML。 机器在理解数据格式和关系types时可以遵循链接。 我猜在这一点上,但上面的前两点似乎表明,类似于以下的Foo资源的API文档导致客户端和服务器之间的紧密耦合,并且在RESTful系统中没有地位。 GET /foos/{id} # read a Foo POST /foos/{id} # create a Foo PUT /foos/{id} […]

堆积的条形图

我想用ggplot2和geom_bar创build一个堆积图。 这是我的源数据: Rank F1 F2 F3 1 500 250 50 2 400 100 30 3 300 155 100 4 200 90 10 我想要一个堆叠图,其中x是排名,y是F1,F2,F3中的值。 # Getting Source Data sample.data <- read.csv('sample.data.csv') # Plot Chart c <- ggplot(sample.data, aes(x = sample.data$Rank, y = sample.data$F1)) c + geom_bar(stat = "identity") 这是我所能得到的。 我不确定如何堆叠字段值的其余部分。 也许我的data.frame格式不好?