问题标签 [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 回答
1317 浏览

asp.net-mvc - 在 ASP.NET WebApi 控制器中模拟 User.Identity

您如何模拟 ASP.NET WebApi ApiControllers 的 User.Identity [用于单元测试]?

笔记:

一些控制器方法返回是aync [Task]在不同的线程上运行

0 投票
1 回答
1265 浏览

c# - 如何将 JSON 数据接收到 Web API ApiController 方法中?

我正在编写一个带有几个接收 JSON 数据的 PUT 方法的 Web API ApiController。JSON 不是确定性的,因此不能硬映射到自定义 C# 对象,但需要作为字典/序列(映射/列表)接收。

我已经尝试在控制器中为 PUT 方法的数据参数使用 IDictionary,并且这种工作 - 数据似乎从 JSON 映射到字典。但是,有必要将字典声明为<String,Object>,并且没有明确的方法可以将 Object 值检索为其适当的类型。(我在搜索中发现了一些建议的 kluges,但它们就是这样。)

还有一个 System.Json.JsonObject 类型,我终于设法通过 NuGet 加载它,但是当我使用它时,系统似乎不知道如何映射数据。

这通常是如何完成的?如何实现接收通用 JSON 的 ApiController 方法?

我可以看到三种基本方法:

  1. 不知何故使字典/序列与对象或类似的东西一起工作。
  2. 使 System.Json.JsonObject 之类的东西工作,也许是通过调整路由信息。
  3. 将 JSON 作为字节数组接收,然后使用可用的 C# JSON 工具包之一显式解析。

(关于数据的动态程度,JSON 对象可能缺少条目或无关条目,在某些情况下,特定条目可能表示为单个 JSON 值或 JSON 值数组。(其中“值”是 JSON 数组、对象、字符串、数字、布尔值或空值。)一般来说,除了数组/非数组的歧义之外,键和值类型之间的关系是已知的。)

(但我应该注意,这是一个大型项目,我将从其他作者的几个其他组件接收 JSON 字符串。能够检查接收到的类型并断言它是预期的将非常有用,甚至可能是必要的从安全的角度来看。)

(我应该补充一点,我是 C# 的相对新手——只使用了大约 6 个月。)

0 投票
2 回答
1176 浏览

asp.net-mvc-4 - 从 apicontroller 绑定 kendo-ui 网格

我正在使用 Kendo-ui JQuery 版本,并且正在尝试从 ApiController 填充 kendo-ui 网格。我的网格仍然是空的......我错过了什么?

这是我的 ApiController 的结果: ~/api/Countries :

这是我的 ApiController 代码:

这是我的cshtml代码:

谢谢你的帮助。

0 投票
1 回答
112 浏览

c# - 如果 C# 控制器更改为 ApiController,则主干 404 错误

我正在尝试学习.Net 和backbone.js。我正在做一个非常简单的项目;它用于列出所有收件人并更新他们的地址和内容。我有一个 RecipientsController,它只是从数据库中获取收件人列表。这是控制器。

这很好用;我的主干应用程序可以接收 JSON 并正确显示它们。但我无法让编辑(PUT)工作。所以,我在谷歌上搜索了一下,发现了一个使用 ApiController 而不是 Controller 的教程。我决定试一试,所以我把Controller改成了ApiController。

当我尝试使用 ApiController 时,主干给了我 404 错误。我不明白为什么。

这是我的

我有两个视图(索引和收件人)都在视图/主页下。这是我的 ActionLink:

现在,使用 ApiController,如果我将 ActionLink 从 Home 更改为 Recipients,将 Recipients 更改为 GetRecipients,并将 View (Recipients) 从 Home 下移动到新文件夹 Recipients,那么它可以工作,但它不使用我的主干视图。我真的很困惑。有人可以为我解释一下,以便我理解吗?由于我正在学习,我很难理解我在网上找到的一些描述(这对我来说太高级了),但我也不确定我找到的解释是否是我需要的。

先感谢您。

编辑:

这是我的路线:

0 投票
1 回答
1427 浏览

c# - 在同一个项目中为 MVC 和 API 配置路由

我刚刚将一个现有的 API 项目合并到另一个现有的 MVC 项目中。API 控制器与 MVC 控制器具有相同的名称,但它们位于 2 个不同的命名空间中(分别为 MyApp.Web.MyController 和 MyApp.API.MyController)。

现在,我真的不知道如何配置路由以便我可以访问 API 控制器:(

我读了这篇文章:在一个项目中混合 Web Api 和 ASP.Net MVC 页面,并希望实现@Mike Wasson 在那里提出的建议,但我不知道如何配置路由。

这是我目前在 RouteConfig.cs 中的内容:

0 投票
1 回答
1415 浏览

asp.net-mvc - Web API 路由 - 只有带有 URI 参数的操作才有效

我有一个运行良好的 Web API 项目。我将它与一个 MVC 项目合并,现在只有带有 URI 参数的操作才有效。所有其他操作都以 404 Not Found 结束,甚至找不到控制器。

这是我在 WebApiConfig 中的内容(标准内容):

这是控制器类:

这是有效的操作:

这是一个不起作用的(它曾经在它自己的项目中起作用):

我不知道出了什么问题。谢谢你的帮助!

0 投票
3 回答
2692 浏览

c# - 未找到与请求 URI 匹配的操作

我试图修改我的一个 api 控制器,以允许创建多个保留,方法是允许将参数之一作为管道分隔的字符串传入。方法和类可以在这里看到:

我有一个表格发布我认为应该是正确的信息,但我不断收到此错误:

api 中的(修改后的)保存方法肯定仍在进行中。但是是什么阻止了它找到 web api 控制器?这是萤火虫的输出:

在此处输入图像描述

0 投票
4 回答
36285 浏览

asp.net-mvc - 尝试创建类型为“TypeNewsController”的控制器时发生错误

我已经搜索了很长时间,但没有找到任何帮助。我哪里错了?我真的不知道该怎么办。我在下面写了所有细节。我已经尝试过,但没有成功。

尝试创建类型为“TypeNewsController”的控制器时发生错误。确保控制器有一个无参数的公共构造函数。

我的 api 控制器:

错误 :

引导程序类:

更新 :

0 投票
1 回答
412 浏览

c# - Breeze 问题:null 复杂类型设置为新的空对象

我在 Durandal-project 工作并使用 Breeze 对象。

我有包含一些复杂类型的微风模型。

在服务器端,我将一些复杂类型的属性设置为空。

但是,当对象到达客户端时,我设置为 null 的复杂类型包含对复杂类型对象的引用。我需要它们为空。

我的主要模型模式:

服务器端代码(c#,使用 apiController):

我希望当条件为真时,所以在客户端 employeeData.employeeJobsData() - 返回null。实际上,它返回微风复杂实体。

谢谢!

0 投票
2 回答
18964 浏览

asp.net - 从 SSIS 调用 Web API 页面?

我有一个简单的 ASP.Net Web API 设置来触发一个进程。我想从 SSIS 调用这个 API。我可以调用 Web 服务,但不知道如何调用 API 链接,因为没有 WSDL。

有没有办法做到这一点而不必使用 AxtiveX 脚本?