问题标签 [webapi]

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 投票
0 回答
29 浏览

jquery - 为 SOAP Web 服务调用 JQuery AJAX 时出错

尝试使用下面提到的代码调用 SOAP Web 服务。似乎正在命中错误回调函数

0 投票
1 回答
477 浏览

c# - 使用 .net web api 在服务器端生成带有部分 HTML 内容的 PDF

我们的应用程序前端是 angular,后端是 .net Web API,我们希望为用户使用的所有产品生成 pdf 报告。这里产品描述是 HTML 内容,所以我们需要一种方法在服务器端将 Html 内容和产品信息呈现为 pdf。

现在我们正在使用 Active Reports 部分报告来生成没有描述的 pdf,因为在 Active Reports RichText 中只支持最低级别的 HTML 标记,我们需要更多。所以我们需要一个更好的解决方案来在服务器端生成带有 HTML 内容的 pdf。

0 投票
1 回答
3492 浏览

c# - 使用 Postman 向 Asp.net Core webapi 发送 PATCH 时出错

我有一个模型,

和一个存储库,

已注册Startup.cs如下。

其他相关的 nuget 包已经安装如下。

下面给出了一个测试控制器。

使用 Postman,我通过先向服务器发送 POST 动词然后通过发送 GET 动词来确认结果来成功创建新订单,如下所示。

在此处输入图像描述

在此处输入图像描述

问题

我尝试使用以下内容部分更新订单,但失败了。

在此处输入图像描述

错误信息是

JSON 补丁文档格式错误,无法解析。

出了什么问题以及如何解决?

代替

我也试过

两者都没有帮助。

0 投票
0 回答
44 浏览

c# - 确定已指定 JSON 中的哪些字段

我正在使用 WebAPI 来更新数据库中的一些实体(.net core 3.0、mvc webapi、efcore、vs2019)。我无法确定哪些属性实际上已在 JSON 请求中发送到我的 webapi 端点,因此如果它们未发送(即保持原样),我不会在数据库中更新它们。

这是我的代码:

模型:

WebAPI 方法:

请求负载(PUT 方法,示例 URL:https://myserver/api/entity/1):

如果使用上述 JSON,则只有 FirstName 会在数据库中更新。

例如,如果发送了这个 JSON:

这意味着(除了 FirstName 被更新) Address 也将被更新为 null (这不会在第一种情况下)。

Model 中其实不只是字符串对象,这里只是作为一个例子。

我的 API 被调用并且所有内容(当然,LastName 和 Address 设置为 NULL),我只想知道在 JSON 请求中实际发送了哪些字段。我必须检查每个字段的 NULL 值还是有任何其他检查方法(更通用)?

也许还有其他方法可以解决此类问题,而我只是不熟悉?

0 投票
1 回答
1536 浏览

c# - 如何使用数据注释为模型属性 WebApi .NET Core 添加布尔验证

我正在尝试使用注释验证以下属性,它应该是 true 还是 false

如果我像下面这样传递 json,我会得到一个无效的数据验证错误

但奇怪的是,如果我像下面这样通过,没有数据验证。

我曾尝试过ValidationAttribute如下所示,但即使 val 为12345 ,也始终为

0 投票
0 回答
118 浏览

c# - C# Web API:为什么 int 值会自行更改为 hex 值?

我面临一些奇怪的问题,感谢任何帮助。

我正在使用 VS 2019 和 .Net Core 2.2。在 VS 中创建了新的 web api,如果我在控制器中传递整数值 5,则 id 值显示为十六进制(id = 0x00000005),我也声明整数如下,并将值显示为 s = 0x00000009。我没有任何代码或设置来更改十六进制值。使用端点https://localhost:44358/api/values/5的新 Web api 项目进行测试。十进制,字符串类型按预期工作。请在这里帮助我。

感谢任何帮助。

0 投票
1 回答
338 浏览

c# - Entitiframework core 如何传递上下文对象?

嗨,我正在使用实体框架核心开发 web api(.net core)。我创建了如下上下文类。

然后我使用下面的代码添加时间表数据。

using (var context = new TimeSheetContext())在这里,我遇到了错误。

没有参数对应于 timesheetcontext.timesheetcontext(dbcontextoptions) 所需的形参选项

我在启动时添加了以下代码。

然后我像下面这样使用。

然后我尝试在启动时注册 TimeSheet 服务,如下所示。

现在我开始在时间表附近出现错误,

timesheet 是一个命名空间,但用作类型

有人可以帮我找到这个错误。任何帮助将不胜感激。谢谢

0 投票
1 回答
50 浏览

c# - 必须处理简单的 CPU 绑定操作的异步方法执行流程

我有这个类CarAssembly有方法Process,它调用异步方法AssembleFrame然后它必须调用另一个方法到GetTyreCount这是获取计数的非常简单的方法,如上所述,上面有 3 个选项 OptionA、OptionB、OptionC这是调用这个简单的 CPU 绑定方法的正确方法。即使我所说的选项不正确,请提供您的想法什么是正确的方法。假设它是 WebAPI 中的类执行(无 UI)

0 投票
1 回答
1196 浏览

c# - 将 .NET Web API 令牌转换为 6 位数字 OTP

如何将以下令牌转换为 6 位数字,反之亦然。

哈希/加密

Q3XMaFgx3l0n9Nkb8XIUTZ9jqWDOJtefhPtv0yXPQhFBUq_hhGyW9p54apIDTpFs5Am_6Rs8VSKLClDJjFfOtM78I8EDLjwd4zjvWK0WBN9g7I2_F2D9uxEWfSUrgIIzAqw2jqGkOweW7avOmdtAdaTzlqtAY1eXJfgZg1JrkWmr9oqxsEeedViYMrJgGLssIGJM_pjTEnlwsmQiVdH5wJWwDgj5No8Wt7YdsV1sKs_44rrjfavhI4tez0vbMoeWAj5sXqTaVGH4AeVLrIUkyN7XsNJhBFTOEWyqC3L5uOXkqT_KRXOF6DV0fdMIfBmUx05hw4A =========>123456

反向散列/解密 [取回原始令牌]

  • 123456 =========> Q3XMaFJu3Kgx3l0n9Nkb8Xu0IUTZ9jqWDOJtefhPtv0yXPQhFBUq_hhGyW9p54apIDTpFs5Am_6Rs8VSKLClDJjFfOtM78I8EDLjwd4zjvWK0WBN9g7I2_F2D9uxEWfSUrgIIzAqw2jqGkOweW7avOmdtAdaTzlqtAY1eXJfgZg1JrkWmr9oqxsEeedViYMrJgGLssIGJM_pjTEnlwsmQiVhdH5wJWwDgj5No8Wt7YdsV1sKs_44rrjfavhI4tez0hvbMoeWAj5sXqTaVGH4AeVLrIUkyN7XsNJhBFTOEWyqC3L5uOXkqT_KRXOF6DV0fdMIfBmUx05hw4A
0 投票
1 回答
1468 浏览

vb.net - 从 .Net 4.0 应用程序调用 WebClient.DownloadString() 到 .Net Core 3.1 Web API 时出现“底层连接已关闭”错误

我有一个旧的 .Net 4.0 WinForms 应用程序(在 VB 中),它现在需要从 Web API 获取一些数据。Web API 是用 .Net Core 3.1 编写的,托管在 Azure App Service 上。

我最初尝试使用 HttpClient,但遇到了一些奇怪的错误,我认为这是因为 HttpClient 确实适用于 .Net 4.5 及更高版本。所以我现在尝试使用 WebClient 以及 WebRequest,但都给了我这个错误:

“底层连接已关闭:发送时发生意外错误。” “无法从传输连接读取数据:现有连接被远程主机强行关闭。”

这是我的代码:

我意识到我在 API 上启用了 CORS,因此对于那个特定的控制器,我通过在控制器顶部添加 [DisableCors] 装饰器来禁用 CORS,但这并没有什么区别。Azure App Service 中也禁用了 CORS,因此我认为这不是 CORS 问题。

从 Angular 8 应用程序调用相同的 API 端点没有问题。当我从邮递员那里调用它时,它甚至可以工作。但是当我从 VB 应用程序调用时,我得到了异常。

响应应该是这个 JSON 对象:

这是 Postman 发出请求的屏幕截图:

在此处输入图像描述

有任何想法吗?

编辑:

好的,如果我在我的 PC 上本地运行 Web API(即我在 Visual Studio 中加载解决方案并点击开始按钮),那么 VB 应用程序可以连接到它并且一切正常(使用http://localhost:50504 /而不是https://propworx-api-san.azurewebsites.net)。所以我认为由于某种原因,VB 应用程序在 Azure 上时无法调用 API(但很有趣,邮递员,也在我的 PC 上运行,可以)