在我的 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/