Questions tagged «rest»

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

12
RESTful URL设计进行搜索
我正在寻找一种将搜索表示为RESTful URL的合理方法。 设置:我有两个模型,汽车和车库,汽车可以放在车库中。所以我的网址看起来像: /car/xxxx xxx == car id returns car with given id /garage/yyy yyy = garage id returns garage with given id 汽车可以单独存在(因此/ car),也可以存在于车库中。例如,代表给定车库中的所有汽车的正确方法是什么?就像是: /garage/yyy/cars ? 车库yyy和zzz中的汽车联合怎么样? 代表具有特定属性的汽车的搜索的正确方法是什么?说:告诉我所有带有4门的蓝色轿车: /car/search?color=blue&type=sedan&doors=4 还是应该改用/ cars? 在那里使用“搜索”似乎不合适-有什么更好的方法/术语?应该只是: /cars/?color=blue&type=sedan&doors=4 搜索参数应该是PATHINFO还是QUERYSTRING的一部分? 简而言之,我正在寻找有关跨模型REST URL设计和搜索的指南。 [更新]我喜欢贾斯汀的答案,但他没有涵盖多领域搜索的情况: /cars/color:blue/type:sedan/doors:4 或类似的东西。我们如何去 /cars/color/blue 多领域的情况?
427 rest 

16
将整数数组传递给ASP.NET Web API?
我有一个ASP.NET Web API(第4版)REST服务,我需要传递一个整数数组。 这是我的操作方法: public IEnumerable<Category> GetCategories(int[] categoryIds){ // code to retrieve categories from database } 这是我尝试过的URL: /Categories?categoryids=1,2,3,4



6
REST API最佳实践:如何接受参数值列表作为输入[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 我们正在启动一个新的REST API,我希望获得一些社区的最佳做法方面的意见,以帮助我们格式化输入参数: 现在,我们的API以JSON为中心(仅返回JSON)。关于是否要返回XML的争论是一个单独的问题。 由于我们的API输出是以JSON为中心的,因此我们一直走在一条以JSON中心为输入的路径上,我一直在想这可能对某些人来说很方便,但总的来说很奇怪。 例如,要获得一些产品详细信息,以便可以同时提取多个产品,我们现在拥有: http://our.api.com/Product?id=["101404","7267261"] 我们应该简化为: http://our.api.com/Product?id=101404,7267261 还是方便使用JSON输入?更痛苦吗? 我们可能要接受两种样式,但是这种灵活性是否会导致更多的混乱和头疼(可维护性,文档等)? 一个更复杂的情况是,当我们想提供更复杂的输入时。例如,如果我们想在搜索中允许多个过滤器: http://our.api.com/Search?term=pumas&filters={"productType":["Clothing","Bags"],"color":["Black","Red"]} 我们不一定要将过滤器类型(例如productType和color)作为请求名称,如下所示: http://our.api.com/Search?term=pumas&productType=["Clothing","Bags"]&color=["Black","Red"] 因为我们想将所有过滤器输入分组在一起。 最后,这真的重要吗?可能有太多的JSON实用程序,所以输入类型没什么大不了的。 我知道我们的JavaScript客户端对API进行AJAX调用可能会喜欢JSON输入,从而使他们的生活更轻松。
409 api  rest 

7
REST API服务针对验证失败返回什么合适的HTTP状态代码?
每当我在基于Django / Piston的REST API应用程序中遇到验证失败时,我当前都会返回401未经授权。看过HTTP状态代码注册表后, 我不相信这是验证失败的合适代码,大家都建议什么? 400错误的要求 401未经授权 403禁止 405方法不允许 406不可接受 412前提条件失败 417期望失败 422无法处理的实体 424依赖失败 更新:上面的“验证失败”表示应用程序级别的数据验证失败,即,错误地指定了日期时间,虚假的电子邮件地址等。

28
用于Web服务的SOAP还是REST?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 REST是进行Web服务的更好方法还是SOAP?还是针对不同问题的不同工具?还是这是一个细微的问题-也就是说,在某些领域中,一个领域比另一个领域要好一些吗? 我特别希望了解有关这些概念及其与PHP宇宙以及现代高端Web应用程序的关系的信息。
384 xml  web-services  rest  soap 

11
在ASP.NET Web API中返回错误的最佳实践
我对我们向客户返回错误的方式感到担忧。 当收到错误消息时,是否通过抛出HttpResponseException立即返回错误消息: public void Post(Customer customer) { if (string.IsNullOrEmpty(customer.Name)) { throw new HttpResponseException("Customer Name cannot be empty", HttpStatusCode.BadRequest) } if (customer.Accounts.Count == 0) { throw new HttpResponseException("Customer does not have any account", HttpStatusCode.BadRequest) } } 否则我们会累积所有错误,然后发回给客户: public void Post(Customer customer) { List<string> errors = new List<string>(); if (string.IsNullOrEmpty(customer.Name)) { errors.Add("Customer …
384 c#  rest  asp.net-web-api 

18
单独的REST JSON API服务器和客户端?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 3年前关闭。 我将要从头开始创建一堆Web应用程序。(有关概述,请参见http://50pop.com/code。)我希望它们能够从许多不同的客户端进行访问:前端网站,智能手机应用程序,后端Web服务等。因此,我真的想要一个每个JSON REST API。 另外,我更喜欢在后端上工作,所以我做白日梦,我只专注于API,并雇用其他人制作前端UI,无论是网站,iPhone,Android还是其他应用程序。 请帮助我决定我应该采用哪种方法: 齐心协力 制作一个非常标准的Rails网络应用程序。在控制器中,执行response_with开关,以提供JSON或HTML。JSON响应就是我的API。 优点:很多先例。高标准和以这种方式做事的许多例子。 缺点:不一定希望API与Web应用程序相同。不喜欢if / then response_with切换方法。混合两种截然不同的东西(UI + API)。 REST SERVER + JAVASCRIPT-HEAVY CLIENT 制作仅JSON的REST API服务器。将Backbone或Ember.js用于客户端JavaScript可直接访问API,并在浏览器中显示模板。 优点:我喜欢API和客户端的分离。聪明的人说这是要走的路。理论上很棒。似乎最前沿和令人兴奋。 缺点:没有多少先例。这样做的例子并不多。公开示例(twitter.com)感觉呆滞,甚至正在放弃这种方法。 REST SERVER +服务器端HTML客户端 制作仅JSON的REST API服务器。制作一个基本的HTML网站客户端,该客户端仅访问REST API。更少的客户端JavaScript。 优点:我喜欢API和客户端的分离。但是提供纯HTML5十分简单,而且不会占用大量客户端。 缺点:没有多少先例。这样做的例子并不多。框架也不支持这一点。不确定如何处理。 特别是从经验中寻求建议,而不仅仅是从理论上。

15
带有点(。)的Spring MVC @PathVariable被截断
这是问题 Spring MVC @PathVariable被截断的继续 Spring论坛指出,它已作为ContentNegotiationManager的一部分进行了修复(3.2版本)。请参阅下面的链接。 https://jira.springsource.org/browse/SPR-6164 https://jira.springsource.org/browse/SPR-7632 在我的应用程序中,带有.com的requestParameter被截断了。 谁能解释我如何使用此新功能?如何在xml上进行配置? 注意:Spring论坛-#1 Spring MVC @PathVariable带有点(。)

9
400和422对数据POST的响应
我正在尝试使用正在使用的“类似REST”的API找出在不同情况下返回的正确状态代码是什么。假设我有一个端点,允许JSON格式的POST购买。看起来像这样: { "account_number": 45645511, "upc": "00490000486", "price": 1.00, "tax": 0.08 } 如果客户寄给我“ sales_tax”(而不是预期的“ tax”),我应该返回什么。目前,我要退回400。但是,我开始对此提出质疑。我真的应该归还422吗?我的意思是,它是JSON(受支持),并且是有效的JSON,只是不包含所有必填字段。

14
REST API最佳实践:在哪里放置参数?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 5年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 REST API至少可以通过两种方式具有参数: 作为网址路径的一部分(即/api/resource/parametervalue ) 作为查询参数(即/api/resource?parameter=value ) 最佳做法是什么?是否有使用1和何时使用2的一般准则? 真实示例:Twitter使用查询参数指定间隔。(http://api.twitter.com/1/statuses/home_timeline.json?since_id=12345&max_id=54321) 将这些参数放在URL路径中是否被认为是更好的设计?
348 api  rest  url 


15
如何使用C#调用REST api?
这是我到目前为止的代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System; using System.Net.Http; using System.Web; using System.Net; using System.IO; namespace ConsoleProgram { public class Class1 { private const string URL = "https://sub.domain.com/objects.json?api_key=123"; private const string DATA = @"{""object"":{""name"":""Name""}}"; static void Main(string[] args) { Class1.CreateObject(); } private static void CreateObject() { …
335 c#  api  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.