c# - 在 Angular 6 中传递带有空字符串的整数值时不调用 API Get 方法

标签 c# angular typescript asp.net-core asp.net-core-webapi

在我的 Angular 应用程序中,从 Angular 调用 API 方法时出现错误。我必须传递两个参数。第一个是整数值,第二个是字符串值。它是可选的。

请看下面的代码片段(Typescript)

let id:number = 5;
let value: string = "";

this.http.get<string[]>(this.appService.baseUrl + 'api/File/' + id + "/" + value)

在 Controller 中:

[HttpGet("{id:int}/value")]
[ResponseCache(NoStore = true)]
public async Task<IActionResult> Get(int id, string value) { }

这里没有调用 Get 方法,因为 value 参数为空。

最佳答案

在您的示例中,您正在构建此 URL:

/api/File/5

但是,您的 Controller 需要以下内容:

/api/File/5/value

如果你想让这里的value是可选的,并且放在value参数中(string value),你可以调整你的HttpGet 属性,像这样:

[HttpGet("{id:int}/{value?}")]

这使得 value 是可选的,并且是传入的任何内容的占位符。

关于c# - 在 Angular 6 中传递带有空字符串的整数值时不调用 API Get 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53831200/

相关文章:

c# - 如何检查复选框状态是否已更改

c# - Prolog 与 C# Visual Studio 13

javascript - Angular 响应式表单提交事件

angular - 目前正在学习 Angular 5 - 从 Angular 4 和 Angular 2 教程中学习是否仍然可行?

javascript - 重新连接私有(private) Typescript 类方法

javascript - 将 json 数组作为类别和子类别的新数组

c# - 是否有 WCF Rest C# 客户端生成工具?

c# - 如何为 web 方法传递可选参数?

html - 在选择选项标签中显示值的问题

angular - typescript 类型 BeforeInstallPromptEvent