问题标签 [asp.net-web-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2059 浏览

wcf - WCF Rest - 最佳实践是什么?

刚开始我的第一个 WCF REST 项目,希望得到一些关于使用 REST 的最佳实践的帮助。

我看过很多教程,似乎有很多方法可以做事……例如,如果做一个 POST,我看过一些设置 HttpStatusCodes(OK/Errors 等)的教程,以及其他教程只是返回包含操作结果的字符串。

归根结底,有 4 项操作,当然必须有一个指南,说明如果您正在执行 GET,则以这种方式执行,等等,并且使用 POST,执行此操作...

任何帮助,将不胜感激。

京东

0 投票
1 回答
274 浏览

c# - 在 AppHarbor 上的 MVC3 内运行 WCF WebAPI Prev 6,出现 404 错误

今晚我试图在 AppHarbor 上发布一个快速的 WCF WebAPI 项目,但遇到了一些问题。WCF API 位于一个空的 MVC3 项目中,就像在 WCF CodePlex 站点上演示的一样。https://github.com/jptoto/Postmark-Response-Code-Generator API 本身非常基础,当您在 url 末尾键入 http 响应错误代码时,响应将是正确的错误代码。因此,例如,在 Fiddler 或其他一些 http 客户端中使用http://responsecodes.appharbor.com/api/response/405将为 405 错误返回正确的错误响应。(此 API 只是一种使用正确错误响应进行测试的便捷方式)。

无论如何,无论我尝试什么,我都会从 AH 收到 404 错误。我不知道路由是否不起作用。当我从 AH 下载构建的代码并在 IIS 中本地运行它时,它运行良好,没问题。

如果 AH 不支持 WebAPI Preview 6 中的某种路由,那也没关系。我只想覆盖我所有的基础。谢谢!!

0 投票
2 回答
1441 浏览

rest - 强制 web api 消费者在响应中接受新字段

我正在创建现有 RESTful Web api 的 v2。

响应是 JSON 对象列表,大致形式如下:

我们在 v1 中观察到的一个问题是,一些客户端将按整数位置访问字段,而不是按名称。这意味着,如果我们决定在响应中添加字段(我们最初认为这是一种保持兼容性的更改),那么我们客户端的一些代码就会中断,除非我们在最后添加字段。即便如此,其他客户端代码仍然会中断,因为它们会在遇到意外的属性名称时以某种方式失败。

为了在 v2 中解决这个问题,我们正在考虑对每个响应中的字段进行随机重新排序。这将强制客户端按名称而不是按位置索引字段。

此外,我们正在考虑为每个响应添加一个随机命名的字段。这将迫使客户忽略他们不认识的字段。

虽然这听起来有些笨拙,但它确实具有我们能够添加新字段的优势,并且知道这不会破坏任何客户端是安全的。这意味着我们可以在同一个 URL 上发布对 v2.1、v2.3 等的兼容更新,这意味着我们只需要维护和支持较少数量的 API 版本。

另一种方法是在新的 URL 上发布破坏兼容性的 v3、v4,这意味着我们将不得不维护和支持许多不兼容的 API 版本,这将使我们变得更薄一些。

这是一个坏主意,如果是,为什么?我应该考虑其他类似的想法吗?

更新:前几个回复指出,如果我记录了问题(即在文档中指出可能会添加或重新排序字段),那么当我随后添加或重新排序字段时,如果客户端代码中断,我将不再受到责备。遗憾的是,我认为这对我们来说不是一个合适的选择:许多组织依赖我们 API 的功能来进行具有重大财务影响的实际交易。这些组织不以技术为导向——在客户端的最终实现涵盖了整个技术熟练度范围。我们已经做到了记录可能在 v1 的文档中添加或重新排序的字段,这显然不起作用,因为现在我们不得不发布 v2,因为许多客户,由于缺乏时间、经验或能力,仍然编写了中断的代码当我们添加新字段时。如果我现在要向界面添加字段,它会破坏十几个不同公司的界面给我们,这意味着他们(和我们)每分钟都在流血。如果我拒绝恢复更改或修复它,说“他们应该阅读文档!”,那么我很快就会失业,这是正确的。我们可能会尝试教育“失败”的合作伙伴,但这注定会失败,因为随着我们的不断发展,问题每个月都会变得越来越大。我的问题是,我是否可以系统地解决整个问题,防止这种情况发生,无论客户尝试做什么?如果我建议的技术可行,我为什么不使用它们?为什么其他人不使用它们?

0 投票
2 回答
2034 浏览

search - Counts of web search hits

I have a set of search queries in the size of approx. 10 millions. The goal is to collect the number of hits returned by a search engine for all of them. For example, Google returns about 47,500,000 for the query "stackoverflow".

The problem is that:

1- Google API is limited to 100 query per day. This is far from being useful to my task since I would have to get lots of counts.

2- I used Bing API but it does not return an accurate number. Accureate in the sense of matching the number of hits shown in Bing UI. Has anyone came across this issue before?

3- Issuing search queries to a search engine and parsing the html is one solution but it results in CAPTCHA and does not scale to this number of queries.

All I care about is that the number of hits and I am open for any suggestion.

0 投票
1 回答
614 浏览

wcf-web-api - ASP.NET Web API 绑定方法

我有两种这样的方法

当我调用 url: GET http://localhost/api/product/1。我希望调用第一种方法,而不是第二种方法。
我怎样才能做到这一点 ?

0 投票
11 回答
223279 浏览

c# - WCF 与 ASP.NET Web API

我花了几个月的时间试图掌握 WCF 背后的概念,最近我开发了我的第一个 WCF 服务应用程序。

我很难理解配置文件中的所有设置。
我不相信环境,但似乎你可以用它做一些令人惊奇的事情。

前几天我发现微软推出了一个新的东西,叫做ASP.NET Web API

据我所知,它是一个RESTful 框架,非常易于使用和实现。

现在,我想弄清楚这两个框架之间的主要区别是什么,以及是否应该尝试使用新的 API 转换旧的WCF 服务应用程序。

有人可以帮我理解每个人的区别和用法吗?

0 投票
1 回答
10168 浏览

.net - 混合 web api 控制器和站点控制器

我正在摆弄 mvc 4 beta 中的新 wep api,并将一些新的 api 控制器添加到我现有的 mvc 站点。问题是我无法将 web api 控制器命名为与现有控制器相同的名称。现在我已经给他们起了像 ProductApiController 这样的名字,但这不是很像 restlike。将这些新控制器添加到现有 mvc 站点时,命名这些新控制器的好策略是什么?

0 投票
4 回答
6713 浏览

odata - ASP.net MVC 4 (web api) OData 配置

一直在玩(单页应用程序)BigShelf示例。我发现真正有趣的是 GetBooksForSearch 方法 (/api/BigShelf/GetBooksForSearch),它需要额外$filter的 , $inlinecount, $top,$skip参数用于分页和过滤结果,这些参数在控制器代码中不存在:

我找不到任何关于控制器如何翻译和过滤结果的文档,更重要的是,如何配置这种行为(例如,限制最大结果),有人知道吗?

- 更新 -

发现 MVC Web API 可以解决问题。但是我们该如何配置呢?

0 投票
2 回答
2874 浏览

asp.net - ASP.Net Web API 与 WCF - Web API 能否用于向单例 WCF 服务提供基于 REST 的通信?

我有一组现有的单例 WCF 服务。它们是长期运行的进程,会持续进行大量工作,并使用 WCF 服务合同公开自己,以便与其他进程进行通信。

当开发 WCF Web API 时,我很兴奋,因为看起来我终于能够摆脱所有烦人的合同内容,只需为每个服务提供一个与平台无关的 REST API,并让进程通过HTTP 请求和 JSON 响应。

现在看起来 Web API 已成为 IIS 托管的 ASP.Net 功能,让我试图弄清楚我是否只是缺少某些东西,或者我的 WCF 服务是否将不再有机会提供 REST 接口。

如果 Web API 不再真正针对我的场景,那么 ASP.Net 团队对希望向其他消费进程提供基于 HTTP/JSON 的 API 的非终止单例进程有何设想?

0 投票
2 回答
5762 浏览

asp.net-mvc - ASP.NET Web-API 不序列化只读属性

我将 API 方法从标准 MVC 操作迁移到新的 asp.net Web-API beta,突然不再序列化只读属性(两者都返回 JSON)。这是预期的行为吗?

编辑:添加代码示例

我通过 nuget 包引用了 Newtonsoft.Json 4.0.8 和 System.Json 4.0