Questions tagged «rest»

REST(表示状态传输)是一种用于分布式超媒体系统(例如,万维网)的软件体系结构。相对于RPC体系结构(例如SOAP),由于客户端与服务器之间的固有解耦(由于异构系统之间具有统一的接口),它的流行度有所提高。

5
允许对Heroku上的Express / Node.js应用程序进行CORS REST请求
我已经在用于node.js的快速框架上编写了REST API,该API可以处理来自Chrome中的js控制台的请求以及URL栏等。域(CORS)。 由javascript前端自动发出的第一个请求是对/ api / search?uri =的,并且似乎对“预检” OPTIONS请求失败。 在我的express应用中,我使用以下方法添加了CORS标头: var allowCrossDomain = function(req, res, next) { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS'); res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With'); // intercept OPTIONS method if ('OPTIONS' == req.method) { res.send(200); } else { next(); } }; 和: app.configure(function () { app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); app.use(allowCrossDomain); app.use(express.static(path.join(application_root, …
97 node.js  rest  heroku  express  cors 

8
REST API:自定义HTTP标头与URL参数
何时在REST API的请求部分中使用自定义HTTP标头? 例: 你会用吗 GET /orders/view (custom HTTP header) CLIENT_ID: 23 代替 GET /orders/view/client_id/23 or GET /orders/view/?client_id=23
96 http  rest 

2
gRPC(HTTP / 2)是否比使用HTTP / 2的REST更快?
目标是引入一种传输和应用程序层协议,该协议的延迟和网络吞吐量都更好。当前,该应用程序将REST与HTTP / 1.1结合使用,并且我们遇到了高延迟。我需要解决此延迟问题,并且愿意使用gRPC(HTTP / 2)或REST / HTTP2。 HTTP / 2: 多路复用 单TCP连接 二进制而不是文本 标头压缩 服务器推送 我知道上述所有优点。问题1:我可以肯定,如果我将REST与HTTP / 2一起使用,与使用HTTP / 1.1的REST相比,我将获得显着的性能提升,但是与gRPC(HTTP / 2)相比又如何呢? 我也知道gRPC使用原始缓冲区,这是在网络上传输结构化数据的最佳二进制序列化技术。Proto缓冲区还有助于开发不可知的语言方法。我同意这一点,并且可以使用graphQL在REST中实现相同的功能。但是我担心的是序列化:问题2:当HTTP / 2实现此二进制功能时,使用原型缓冲区是否能在HTTP / 2之上带来更多优势? 问题3:在双向流传输用例方面,gRPC(HTTP / 2)与(REST和HTTP / 2)相比如何? 有这么多的博客/视频出像比较GRPC(HTTP / 2)(REST和HTTP / 1.1)互联网这个。如前所述,我想知道在比较GRPC(HTTP / 2)和(REST与HTTP / 2)方面的区别和好处。

8
在RESTful和Spring Boot / MVC / JavaConfig中使用GZIP压缩
我们将Spring Boot / MVC与基于注释的java-config一起用于一系列RESTful服务,并且我们希望选择性地HTTP GZIP对某些API响应启用流压缩。 我知道我可以在控制器和a中手动完成此操作byte[] @ResponseBody,但是我们更希望依靠SpringMVC基础结构(过滤器/等)并让它自动进行JSON转换和压缩(即该方法返回POJO)。 如何在ResponseBody或嵌入式Tomcat实例中启用GZIP压缩,并且以某种方式我们可以选择性地仅压缩某些响应? 谢谢! PS .:我们目前没有任何基于XML的配置。

3
RestSharp简单完整的示例[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 4年前关闭。 改善这个问题 我一直在尝试创建一个使用RestSharp调用Rest API的简单原型Web应用程序。 我还没有找到一个很好的例子。任何人都可以分享并指导我访问正确的资源吗?我已经看过以下内容,但没有提供我想要的功能齐全的示例: http://restsharp.org/(没有完整的示例程序) http://www.stum.de/2009/12/22/using-restsharp-to-consume-restful-web-services/(似乎很旧) 在进行原型制作时,出现以下代码错误: RestResponse response = client.Execute(request); *Cannot implicitly convert type 'IRestResponse' to 'RestResponse'. An explicit conversion exists (are you missing a cast?) *
95 c#  rest  restsharp 

5
使用REST删除多个记录
RESTful删除多个项目的方式是什么? 我的用例是我有一个Backbone Collection,其中我需要能够一次删除多个项目。选项似乎是: 为每条记录发送一个DELETE请求(如果可能有几十个项目,这似乎是个坏主意); 发送一个DELETE,将要删除的ID串在URL中(即“ / records / 1; 2; 3”); 通过非REST方式,发送包含ID标记为删除的自定义JSON对象。 所有选项都不理想。 这似乎是REST约定的灰色区域。
95 api  rest  backbone.js 

10
REST-是否将ID放在正文中?
假设我想为人们提供一个RESTful资源,客户端可以在其中分配ID。 一个人看起来像这样: {"id": <UUID>, "name": "Jimmy"} 现在,客户端应如何保存(或“放置”)它? PUT /person/UUID {"id": <UUID>, "name": "Jimmy"} -现在我们要重复验证这个讨厌的重复:正文中的ID是否与路径中的ID匹配? 不对称表示: PUT /person/UUID {"name": "Jimmy"} GET /person/UUID 退货 {"id": <UUID>, "name": "Jimmy"} 正文中没有ID-仅在以下位置具有ID: PUT /person/UUID {"name": "Jimmy"} GET /person/UUID 退货 {"name": "Jimmy"} POST由于ID是由客户端生成的,因此似乎没有什么好主意。 有哪些常见的模式和解决方法?仅在位置上的ID似乎是最教条化的正确方法,但这也使实际实现更加困难。
95 rest 

6
最佳/最全面的股票/财务数据API [关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 访问金融市场统计数据和股票报价(最好是实时报价)的最推荐的免费/公共API是什么?我对它的公开方式(SOAP,REST,一些专有的XML设置等)不太挑剔,只要它有一些不错的文档即可。 我正计划在PHP中使用一些基本数据(基本上是快速创建n-dirty主页)构建一个简单的Web仪表板,但最终可能希望将其发展为功能完善的Web应用程序。有什么想法吗? 当我找到一些内容时,我将在此处发布列表(如果您以前使用过它们,请随时发表评论): 自由 opentick(女高音)//链接不起作用 不免费 XigniteRealTime

8
RESTful服务-等效WSDL
我一直在阅读有关REST和SOAP的文章,并了解为什么实现REST优于使用SOAP协议。但是,我仍然不明白为什么REST世界中没有等效的“ WSDL”。我看到过一些帖子,说“不需要” WSDL,否则在REST世界中将是多余的,但我不明白为什么。以编程方式绑定到定义并创建代理类而不是手动编码是否总是有用?我并不是要进行哲学辩论,只是要寻找REST中没有WSDL的原因,或者为什么不需要它。谢谢。
94 rest  wsdl 

7
如何在Backbone中获取单个模型?
我Clock在Backbone中有一个模型: var Clock = Backbone.Model.extend({}); 我正在尝试从中获取具有最新信息的实例/clocks/123。我尝试过的一些事情: “类”级别的方法 Clock.fetch(123) // TypeError: Object function (){ ... } has no method 'fetch' 创建一个实例,然后调用fetch它: c = new Clock({id: 123}) c.fetch() // Error: A 'url' property or function must be specified 集合 我尝试创建一个AllClocks集合资源(即使我在页面上没有用到这种东西): var AllClocks = Backbone.Collection.extend({ model: Clock, url: '/clocks/' }); var allClocks = …

5
JAX-RS和JAX-WS有什么区别?
在阅读了有关JAX-RS和JAX-WS的几篇文章之后,我有几个要确认的问题? JAX-RS可以像JAX-WS一样执行异步请求吗? JAX-RS是否可以访问未在Java平台上运行的Web服务,反之亦然? “ REST对于PDA和移动电话等受限配置的设备特别有用”是什么意思? “ JAX-RS不需要XML消息或WSDL服务–API定义是什么意思?

4
删除请求正文的RESTful替代方案
尽管HTTP 1.1规范似乎允许DELETE请求上的消息正文,但它似乎表明服务器应该忽略它,因为没有定义的语义。 4.3邮件正文 服务器应根据任何请求读取并转发消息正文;如果请求方法不包括为实体主体定义的语义,则在处理请求时应忽略消息主体。 我已经回顾了关于SO及其它主题的一些相关讨论,例如: 是否允许实体正文进行HTTP DELETE请求? HTTP请求方法的有效载荷 带请求正文的HTTP GET 大多数讨论似乎都同意,可以允许在DELETE上提供消息正文,但通常不建议这样做。 此外,我注意到各种HTTP客户端库中都有一种趋势,其中越来越多的增强功能正在被记录下来以支持DELETE上的请求主体。尽管偶尔会有一些最初的阻力,但大多数图书馆似乎都有义务。 我的用例要求在DELETE上添加一些必需的元数据(例如,删除的“原因”,以及删除所需的其他一些元数据)。我考虑过以下选项,这些选项似乎都不是完全合适的,并且符合HTTP规范和/或REST最佳实践: 邮件正文 -规范表明DELETE上的邮件正文没有语义值;HTTP客户端未完全支持;不是标准做法 自定义HTTP标头 -要求自定义标头通常违反标准做法;使用它们与我的其余API不一致,所有这些都不需要自定义标头;此外,没有良好的HTTP响应可用来指示不良的自定义标头值(可能是一个单独的问题) 标准HTTP标头-没有合适的标准标头 查询参数 -添加查询参数实际上会更改要删除的Request-URI;违反标准做法 POST方法 -(例如POST /resourceToDelete { deletemetadata })POST不是删除的语义选项;POST实际上表示所需的相反操作(即POST创建资源下属;但是我需要删除资源) 多种方法 -将DELETE请求拆分为两个操作(例如,先删除PUT删除元数据,然后执行DELETE),将一个原子操作拆分为两个,可能会导致状态不一致。删除原因(以及其他相关的元数据)不是资源表示本身的一部分。 我的第一个偏好可能是使用消息正文,其次是自定义HTTP标头。但是,如所示,这些方法存在一些缺点。 是否有符合REST / HTTP标准的任何建议或最佳做法,以将此类必需的元数据包括在DELETE请求中?还有其他我没有考虑过的选择吗?

11
从Swift函数中的异步调用返回数据
我已经在我的Swift项目中创建了一个实用程序类,用于处理所有REST请求和响应。我建立了一个简单的REST API,因此可以测试我的代码。我创建了一个需要返回NSArray的类方法,但是由于API调用是异步的,因此我需要从异步调用内的方法中返回。问题是异步返回void。如果我在Node上执行此操作,则将使用JS promises,但我找不到能在Swift中使用的解决方案。 import Foundation class Bookshop { class func getGenres() -> NSArray { println("Hello inside getGenres") let urlPath = "http://creative.coventry.ac.uk/~bookshop/v1.1/index.php/genre/list" println(urlPath) let url: NSURL = NSURL(string: urlPath) let session = NSURLSession.sharedSession() var resultsArray:NSArray! let task = session.dataTaskWithURL(url, completionHandler: {data, response, error -> Void in println("Task completed") if(error) { println(error.localizedDescription) …
93 ios  rest  asynchronous  swift 

13
在Swift中进行REST API调用
我正在尝试使用Swift来对REST API进行GET调用,并且试图遵循众多教程,但无法弄清楚。要么是因为我无法弄清楚如何将所有Obj-C转换为Swift,要么是因为不赞成使用n'这样的方法的一半。有谁知道如何进行调用以及解析返回的JSON数据?
92 ios  swift  rest  api  http 

3
RESTful API方法;头和选项
我正在为PHP中的应用程序编写RESTful API模块,并且动词HEAD和混合使用OPTIONS。 OPTIONS 用于检索给定资源的可用HTTP动词吗? HEAD 用于确定给定资源是否可用? 如果有人能弄清楚这些动词,那将不胜感激。 *澄清是关于重新使用HTTP动词的RESTful API架构。我既然来实现这两个HEAD和OPTIONS应该不会被重新定意,而是可预测的行为作为任何HTTP应用程序应该。哦,我们两年内的成长。
92 php  api  http  rest 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.