问题标签 [webapi2]

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 回答
391 浏览

c# - xml在web api c#中列出转换

我收到一个 xml 形式的请求,我需要使用 web api 将其转换为 c# 中的列表。

这是我收到的请求 xml

这是我的 C# 方法

c# 列表对象的类

我需要使用上述类将请求 xml 转换为列表。我现在在路径中遇到非法错误。任何帮助将不胜感激。谢谢

更新 :

这是我在文档的 innerxml 节点中得到的

0 投票
0 回答
341 浏览

javascript - 如何使用浏览器同步设置 cookie

我正在使用浏览器同步和 Web api C# 2.0,当我调用方法登录时,它会在响应标头 set-cookie 中返回,但该方法没有在浏览器中设置 cookie。

编辑

登录返回cookie: 在此处输入图像描述

曲奇浏览器: 在此处输入图像描述

0 投票
0 回答
23 浏览

c# - Web API 开发/调试模式与实时模式错误是不同的

这对我来说是一个真正的头痛。我有一个将数据发布到 Web API 应用程序的 Windows 服务。如果我的本地开发机器上的 Web API 已关闭(为我的客户模拟系统停机体验),我会收到一个漂亮的错误,如下所示:

在此处输入图像描述

但是,当我将 web api 和 windows 服务发布到开发通道 IIS 环境时,我得到以下信息:

在此处输入图像描述

这只是文本版本:

在此处输入图像描述

我的问题是,我需要翻转 IIS 中的什么设置来抑制本机 404 Not found stock 错误消息,并只呈现我在开发环境中返回的文本?我玩过自定义错误,但似乎没有产生任何有用的东西,但我承认自己是 IIS 新手,所以我可能错过了一些东西。

0 投票
0 回答
25 浏览

xml - Web API 2 XML 模型问题

我有点陷入困境,只是无法弄清楚如何让 XML 正确填写我的模型。

我可以很好地填写两个字符串,但是只要我输入客户类的属性,它就无法获取数据。

我的课程是:

应用类:

优势等级:

我的控制器是:

我目前正在尝试接收的 XML 是:

Test1 和 Test2 接收数据正常,但 NumberOfApplicants 没有得到任何信息,我已经尝试了很多,但无法弄清楚我做错了什么。

提前感谢您的帮助。

0 投票
2 回答
184 浏览

c# - ASP.NET DefaultBodyModelValidator 给出可枚举异常

我们使用 ASP.NET webapi2 并在我们的模型中实现了许多 jsonconverters。

我们很少遇到例外情况,大约每月一次。我们不在我们的模型上使用任何验证属性。在多次查看代码后不确定是什么原因造成的。

以前有没有人遇到过类似的异常,有什么线索。

收藏已修改;枚举操作可能无法执行。

在 System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource 资源) 在 System.Collections.Generic.Dictionary 2.Enumerator.MoveNext() at System.Web.Http.Validation.DefaultBodyModelValidator.ValidateElements(IEnumerable model, ValidationContext validationContext) at System.Web.Http.Validation.DefaultBodyModelValidator.ValidateNodeAndChildren(ModelMetadata metadata, ValidationContext validationContext, Object container, IEnumerable1 验证器) 在 System.Web.Http.Validation.DefaultBodyModelValidator.ValidateProperties(ModelMetadata 元数据,ValidationContext validationContext) 在 System.Web.Http.Validation.DefaultBodyModelValidator .ValidateNodeAndChildren(ModelMetadata 元数据,ValidationContext 验证上下文,对象容器,IEnumerable1 validators) at System.Web.Http.Validation.DefaultBodyModelValidator.ValidateProperties(ModelMetadata metadata, ValidationContext validationContext) at System.Web.Http.Validation.DefaultBodyModelValidator.ValidateNodeAndChildren(ModelMetadata metadata, ValidationContext validationContext, Object container, IEnumerable1 个验证器)在 System.Web.Http.ModelBinding.FormatterParameterBinding.d__0.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪---在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)在 System.Web.Http.Controllers.HttpActionBinding.d__0.MoveNext() 处的 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) --- 堆栈跟踪从先前抛出异常的位置结束 --- 在 System. Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Controllers.ActionFilterResult.d__2.MoveNext() --- 上一个堆栈跟踪结束引发异常的位置 --- 在 System.Runtime。CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)在 System.Web.Http.Controllers.ExceptionFilterResult.d__0.MoveNext()

0 投票
1 回答
691 浏览

c# - Swagger UI 将返回 API 数据,但我的授权调用返回“权限被拒绝”

所以我相信我的 APIservice 应该没问题,因为我可以通过 Swagger 返回结果?我从 WPF 项目中调用。我启动该程序并要求我登录,然后它会继续并告诉我我没有权限。

我对 WebAPI2 非常熟悉,我认为我可能只是错误地构建了我的调用。看来我确实从我的站点正确地获得了一个令牌,唯一的问题是当我尝试实际调用 API 以获取数据时。

这是我的代码:

编辑:可能有助于注意我正在使用由 Rest API 调用的 DataAPI,其余 API 由 Azure AD 保护。

编辑:我从便携式类库中调用。

编辑:好吧,我正在通过身份验证,但似乎没有任何区别。如果我完全删除 Auth 标头,我会得到相同的结果

0 投票
1 回答
2267 浏览

c# - .net webapi 自托管 ssl

我想创建一个可通过 https (ssl) 访问的自托管 webapi。我有点困惑,因为我看到了许多不同的方法来做到这一点。我读了一些关于 Karma 和 owin 的文章。据我所知,Owi​​n 是目前执行此操作的方法。Ao 我用 http 实现了第一个测试,一切看起来都很好。但现在我想使用https。我读到您必须将 ssl 证书绑定到 ip 和端口。为此,我应该调用 netsh。但我有多台客户机器必须运行此服务。有没有办法在代码中自动完成?我的意思是为什么我必须手动完成?

0 投票
1 回答
251 浏览

c# - 空 WebApi 2 项目在 VS2017 15.2(26430.12) 中抛出 StackOverflow 异常

我正在使用 Visual Studio 2017 15.2(26430.12)
我创建了一个 WebApi 2 空项目
然后添加一个控制器,如下所示:

没有任何其他更改,我启动项目,当我导航到http://localhost:51989/api/Default/以下异常时!没有任何细节
有什么问题? WebApi 2 空项目stackoverflow

来自 Windows 事件查看器的详细信息:

编辑:
项目 Web.config

0 投票
0 回答
114 浏览

c# - asp.net web api2控制器没有被调用

我正在按照 msdn 教程创建一个项目,该项目具有 2 个具有各种路由和 http webapi 变体的控制器。.Net 框架 4.5.2

IDS:VS 社区 2017

我有 2 个自定义控制器:产品控制器

和 ProductSearch 控制器

我按照 msdn 说明创建了控制器。ProductSearch 是作为空控制器创建的,产品按照https://docs.microsoft.com/en-us/aspnet/web-api/overview/web-api-routing-and-actions/create-a-rest-api创建-with-attribute-routing

我正在尝试但未能实现下降的目标: 1. 调用 /api/Products 以返回由 GetPSPRoducts 方法支持的产品列表。相反,浏览器最终会加载网页的“主页”版本(默认视图控制器)。2.调用api/ProductSearch返回所有产品。现在它返回 404 版本。如果我调用 api/ProductSearch/GetAllProducts,则返回所有产品,但这不是我想要的。请注意 api/ProductSearch/Products/ 或 api/ProductSearch/Seller//Products 工作正常。

这些是 RouteConfig.cs 中的配置:

和 WebApiConfig.cs

和 Global.asax

所有帮助表示赞赏! 更新: 如果我按以下方式设置 ProductsController,“/api/Products/”和“ http://localhost:59411/ ”都将映射到 Products Controller。我原以为后者会转到默认的主页视图。

0 投票
1 回答
625 浏览

rest - Handling JWT token in multiple services

I'm working on a system where it access few rest APIs and we use JWT toke based authentication. Is it possible to use same token across all services ? If yes, how