问题标签 [asp.net-apicontroller]

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 投票
1 回答
3510 浏览

asp.net-web-api - APIController“执行”方法?

在一个ApiController动作中,我需要在动作完成后立即关闭与数据库的连接。

在控制器下,我重写OnActionExecuted以完成此操作。

我将如何在ApiController行动下完成此任务?

谢谢

0 投票
1 回答
1682 浏览

c# - 如何通过 REST URL 传递 JSON 对象

我在 WEBUI 控制器中有一个 GetCustomerDetails 方法(下)

但作为回应(上面的WEBUI)我收到错误消息

{StatusCode:405,ReasonPhrase:'方法不允许',版本:1.1,内容:System.Net.Http.StreamContent,标头:{ Pragma:无缓存连接:关闭缓存控制:无缓存日期:星期三,17 2013 年 7 月 12:17:49 GMT 服务器:ASP.NET 服务器:开发服务器:Server/11.0.0.0 X-AspNet-Version:4.0.30319 Content-Length:73
Content-Type:application/json;charset=utf-8 过期:-1 }}

所以任何机构都可以帮助我解决这个问题。

0 投票
1 回答
1157 浏览

json - ApiController 在 POST 中收到 null

你会想:这有多难?好吧,看起来确实如此。

jQuery运行:

我正在使用带有 ApiContoller 的 asp.net 网络表单,试图发布一些简单的数据。

POST 方法被调用,但值始终为空。我已经尝试更改 ajax 帖子中的数据而没有前面的空引号,但无济于事。

0 投票
2 回答
16138 浏览

.net - 公开 DTO 时的 ApiController 与 ODataController

有人可以解释我什么时候应该继承我的控制器表单ODataControllervsApiController吗?

问题是由于ApiController可以使用 OData 查询过滤返回的结果。

如果我适用QueraybleAttribute于控制器的方法,即使操作返回,也会处理查询IEnumerable
但是,如果没有此属性但使用调用config.EnableQuerySupport(),则仅在方法返回时才处理查询IQueryable
我认为这不是一致的行为。WebAPI文档和示例暗示控制器必须从 ODataController 中初始化。我有点困惑。
要么ApiController accidentally和部分支持 OData 协议的一部分(至少 $skip、$filter 和 $top)。或者这是设计使然,我需要 ODataController 来获得完整的 ODataSupport。

真正的问题是我的服务暴露了 DTO,而不是 POCO。可能没有一对一的映射。需要将针对 DTO 的 OData 查询转换为针对 POCO 的 EF 查询。
现在只是玩 OData。我检索实体并将它们转换为 DTO。诚然,对于每个请求从数据库中获取所有这些请求的性能并不是很好,但对于实验却是可以容忍的。但是,如果它需要一些过滤的 DTO 子集,则绝对不需要将所有实体返回给客户端。
OData 查询开始使用 ApiController 和 Querayble 属性开箱即用,但前面提到的不一致让我觉得我做错了。

0 投票
1 回答
671 浏览

asp.net - WP 网站,ASP.net Web API ApiController

我们正在 Wordpress 和 Linux 服务器上构建面向公众的网站。用户将使用 OAuth2 登录 WordPress 站点。我们的数据和 API 将构建在 ASP.net MVC4 服务器上。我有几个问题需要解决,并试图找出在 IIS 服务器上进行身份验证的最安全方法。1. 我需要使用 Wordpress 进行身份验证。2. 我需要将客户编号与上述 1 的登录名相关联。3. 不知何故,我需要能够使用该关联的客户编号和一些身份验证来允许 IIS 服务器为请求的 API 提供服务。

一些想法是为每个客户编号存储某种 UUID 并将其存储在 WP 和 IIS 服务器上,然后当请求进入 IIS 时,确认传递的 UUID 与在上面的步骤 2 中发布给 WP 服务器的内容相匹配。我担心的是,这个 UUID 可能会在以后被泄露/伪造,并且 UUID 可用于调用 IIS 服务器上的 API。

在允许客户仅在 Wordpress 服务器上登录的 IIS 服务器上实施安全性的最佳方法是什么?

0 投票
3 回答
21423 浏览

c# - 需要在单元测试中为请求添加自定义标头

我终于能够HttpContext.Current通过在线查找一些代码来获得不为空的。但是我仍然无法在我的单元测试中向请求中添加自定义标头。这是我的测试:

这是正在测试的代码。

0 投票
1 回答
930 浏览

c# - 使用 ApiController 获取列表时出现 System.InvalidOperationException

当我/WeedAPI/在我的应用程序中访问 URL 时,我收到以下错误。如何让我的 Web API 正常工作?(控制器,模型代码遵循)

完整的错误细节:

我的 ApiController 子类:

我的数据:

0 投票
1 回答
24487 浏览

c# - 防止对象图序列化的循环引用

我有一个涉及杂草和杂草家庭的简单数据模型。

WeedFamily <-1---*-> Weed(WeedFamily 和 Weed 是一对多的关系)

我正在尝试完成我的第一个 ApiController,以便我可以轻松地将我的数据检索为 JSON 用于 AngularJS 应用程序。当我/WeedAPI/在我的应用程序中访问 URL 时,我收到以下错误。我很确定问题是我在Weedand之间有循环引用WeedFamily

Weed我应该如何更改我的数据模型,以便 JSON 序列化能够工作,同时保持-关系的双向质量WeedFamily

(即。我希望仍然能够构建如下表达式:

)

错误:

我的数据:

我的模型类:

最后,ApiController:

0 投票
1 回答
3756 浏览

asp.net-mvc - ASP.NET MVC 4 ApiController 和普通控制器路由

我有一个项目仅用于 API 请求进入我们的应用程序,我们正在使用 ASP.NET MVC 4 项目。我们有一些从 ApiController 派生的控制器和其他从普通控制器类派生的控制器。问题是我不想为api/XXXXX/. 我希望 ApiController 与非 Api 控制器使用相同的路由,即{controller}/{action}/{id}. 我尝试添加以下路线

这将使我的 ApiController 可以使用普通{controller}/{action}路由访问,但“普通”控制器不再可访问。如果我摆脱MapHttpRoute了相反的情况。

有没有办法让 ApiControllers 和“普通”控制器通过相同的 url 路由访问?

0 投票
2 回答
156 浏览

c# - asp.net 控制器 api 中的多个操作

大家好,我的控制器 api 中有 2 个方法:

关注我的 WebApiConfig:

当我尝试从 /api/Hotel/GetDetails/ 访问某些方法时,返回一条消息:“找到与请求匹配的多个操作”。

谢谢并恭祝安康。