Questions tagged «rest»

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

3
REST API设计-通过具有不同参数但URL模式相同的REST获取资源
我有一个与REST网址设计有关的问题。我在这里找到了一些相关的文章:相同资源的不同RESTful表示形式以及此处:不同字段的RESTful到GET资源的url,但是关于最佳实践是什么以及为什么还不清楚。这是一个例子。 我有代表“用户”资源的REST网址。我可以使用ID或电子邮件地址来获取用户,但两者的URL表示形式均相同。通过浏览许多博客和书籍,我发现人们一直在以许多不同的方式来进行此操作。例如 在书中以及stackoverflow上的某处阅读此练习(我似乎再也找不到链接了) GET /users/id={id} GET /users/email={email} 在许多博客上阅读这种做法 GET /users/{id} GET /users/email/{email} 查询参数通常用于过滤由url表示的资源的结果,但是我也看到了这种做法 GET /users?id={id} GET /users?email={email} 我的问题是,在所有这些实践中,哪种方法最适合使用api的开发人员,为什么?我相信,关于REST网址设计和命名约定,没有固定的规则,但是我只是想知道我应该采取哪种方式来帮助开发人员更好地理解API。 所有帮助表示赞赏!

4
REST API-在单个请求中批量创建或更新
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 改善这个问题 让我们假设有两种资源,Binder并且Doc具有关联关系,这意味着Doc和Binder各自独立。Doc可能属于或可能不属于Binder并且Binder可能为空。 如果我想设计一个允许用户发送Docs 集合的REST API ,请在单个请求中,如下所示: { "docs": [ {"doc_number": 1, "binder": 1}, {"doc_number": 5, "binder": 8}, {"doc_number": 6, "binder": 3} ] } 对于中的每个文档docs, 如果doc存在,则将其分配给Binder 如果doc不存在,请创建它,然后分配它 我对如何实现这一点感到非常困惑: 使用哪种HTTP方法? 必须返回什么响应代码? 这甚至符合REST的资格吗? URI看起来如何?/binders/docs? 处理批量请求,如果有几个项目出现错误而另一个通过则怎么办。必须返回什么响应代码?批量操作是否应该是原子操作?
92 rest  api 

6
如何保护REST API调用?
我正在开发一个宁静的Web应用程序,该应用程序在后端使用了一些流行的Web框架,例如(rails,sinatra,flask,express.js)。理想情况下,我想使用Backbone.js开发客户端。如何仅让我的javascript客户端与这些API调用进行交互?我不希望这些API调用是公开的,而不是通过curl浏览器上的链接输入或仅通过输入链接即可调用。


8
如何使用Chrome的扩展程序“ Advanced Rest Client”测试REST API
按照下面的链接上的说明,我为Django应用程序成功构建了REST API:http : //django-rest-framework.org/tutorial/quickstart。 我可以通过在Unix提示符下执行以下操作来对其进行测试: curl -H 'Accept: application/json; indent=4' -u root:myPassword http://www.myWebsite.com/users/ 有用 :) 但是,我想使用Chrome扩展程序Advanced Rest Client测试该功能。我已经安装了扩展程序,但是我不知道在哪里/如何放置字段。当我进行有教养的猜测时(如您在屏幕快照中所见),它拒绝说“未提供身份验证凭据” 我应该如何/在哪里为REST API指定参数?

3
Spring @ResponseBody注释如何工作?
我有一种通过以下方式注释的方法: /** * Provide a list of all accounts. */ // TODO 02: Complete this method. Add annotations to respond // to GET /accounts and return a List<Account> to be converted. // Save your work and restart the server. You should get JSON results when accessing // http://localhost:8080/rest-ws/app/accounts @RequestMapping(value="/orders", method=RequestMethod.GET) …
89 java  json  spring  rest  spring-mvc 

1
基于回合的游戏服务器的网络套接字和长时间轮询之间的区别
我正在为iOS游戏编写服务器。游戏是基于回合的,服务器唯一需要向客户端推送信息的时间是通知对手的移动。 我很好奇是否有人可以评论使用websockets和长时间轮询之间的性能和易实现性差异。另外,如果我使用了websocket,我应该只使用它来接收信息并发送POST请求以进行其他所有操作,还是应该通过websocket进行所有通信? 此外,如果我也想制作一个Web客户端,在websocket和长时间轮询之间是否还有其他需要考虑的事项?



3
如何保护RESTful Web服务?
我必须实现安全的RESTful Web服务。我已经使用Google进行了一些研究,但遇到了麻烦。 选项: TLS(HTTPS)+ HTTP基本(pc1oad1etter) HTTP摘要 两足式 OAuth 基于Cookie的方法 客户端证书(Tom Ritter和此处) 使用HMAC签署的请求且寿命有限 还有更多可能的选择要考虑吗?如果是OAuth,那么什么版本?有关系吗 从到目前为止的内容来看,带有承载令牌(没有签名)的OAuth 2.0似乎是不安全的。 我发现了另一篇有关基于REST的身份验证的非常有趣的文章。 保护您的REST API ...正确的方法

7
servlet和Web服务之间的区别
这2和有什么区别?我在Google上发现的结果很少,没有定论。 这是一个后续问题: 假设我创建了带有@Controller注释的spring mvc Web应用程序注释了几个类,并创建了一些可以成功地从前端->后端传输某些信息(反之亦然)的信息,并且后端可能涉及某些数据库。 你会怎么称呼 其余的Web服务或servlet还是其他东西?

1
REST-使用JSON进行HTTP发布
我需要接收仅包含2个参数的HTTP Post Multipart: JSON字符串 二进制文件 设置身体的正确方法是哪一种?我将使用Chrome REST控制台测试HTTP调用,因此我想知道是否正确的解决方案是为JSON参数和二进制文件设置“标签”键。 在服务器端,我正在使用Resteasy 2.x,我将像这样阅读Multipart主体: @POST @Consumes("multipart/form-data") public String postWithPhoto(MultipartFormDataInput multiPart) { Map <String, List<InputPart>> params = multiPart.getFormDataMap(); String myJson = params.get("myJsonName").get(0).getBodyAsString(); InputPart imagePart = params.get("photo").get(0); //do whatever I need to do with my json and my photo } 这是要走的路吗?使用标识特定内容处置的键“ myJsonName”检索我的JSON字符串是否正确?还有其他方法可以在一个HTTP多部分请求中接收这2个内容吗? 提前致谢
88 java  json  rest  http  resteasy 

5
REST可以在POST之后返回内容吗?
我正在使用RESTlet,并且已经创建了资源。我通过覆盖acceptRepresentation方法处理POST 。 客户端应向我发送一些数据,然后将其存储到数据库,将响应设置为201(SUCCESS_CREATED),我需要向客户端返回一些数据,但返回类型acceptRepresentation为void。 就我而言,我需要返回一些标识符,以便客户端可以访问该资源。 例如,如果我有一个带有URL的资源,/resource并且客户端发送了POST请求,则在DB中添加一个新行,其地址应为/resource/{id}。我需要发送{id}。 难道我做错了什么?REST原则是否允许在POST之后返回某些内容?如果可以,我该怎么办?如果不能,该如何处理?
88 java  rest  restlet 

8
WCF数据服务(OData)与ASP.NET Web API
我正在设计一个分布式应用程序,它将由RESTful服务和各种客户端(Silverlight,iOS,Windows Phone 7等)组成。现在,我正在确定应该使用哪种技术来实现我的服务,WCF数据服务(OData)或ASP.NET MVC 4随附的新ASP.NET Web API。 我在线上观看了一些演示,现在我倾向于WCF数据服务,这主要是因为URI内置的过滤机制和本机超媒体功能。我唯一看到的缺点是Atom Pub规范相对于POX的冗长。 在做出决定之前,我应该对这两种技术有什么了解吗?为什么有人会选择WCF数据服务上的ASP.NET Web API?

1
WP7和F#上的异步POST失败
当我let! read = from.AsyncRead buf在F#中执行操作时,它阻塞并且直到TCP套接字死掉才返回。为什么?我该如何解决? 其代码: module StreamUtil open System.IO /// copy from 'from' stream to 'toStream' let (|>>) (from : Stream) (toStream : Stream) = let buf = Array.zeroCreate<byte> 1024 let rec doBlock () = async { let! read = from.AsyncRead buf if read <= 0 then toStream.Flush() return …

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.