c# - 到达webapi端点,但所有参数为空
问题描述
我有以下终点:
[HttpGet("/{auditReviewId}/{actioneeId?}/{entries?}")]
public IEnumerable<AuditReviewActionDto> GetAuditReviewActions(int auditReviewId, int? actioneeId = null, int? entries = null)
我使用 HttpClient 以下列方式调用它
var client = LocalHttpClient.CreateClient("UarBase");
var response = client.GetAsync("api/AuditDashboard/GetAuditReviewActions?auditReviewId=" + logId + "&actioneeId=" + SelectedKey + "&entries=" + Limit).Result;
我将 LogId、SelectedKey 或 Limit 设置为什么并不重要,当我点击端点时,它们总是为空的。
解决方案
通过设置 HttpGet [HttpGet("/{auditReviewId}/{actioneeId?}/{entries?}")]
,您将输入指定为路由参数,但随后您将它们作为查询参数传递。
如果您想通过查询传递参数,请将它们从您的路由中删除(仅使用[HttpGet]
或仅提供基本路由),然后使用[FromQuery]
属性标记您的每个方法输入以指定它们来自查询参数。
推荐阅读
- amazon-dynamodb - 在 Boto3 的 DynamoDB 中使用 IN 运算符
- python - 为什么使用 Python 读取 .txt 文件会导致控制台出现空白行?
- c# - 如何获取输入到 TextBox 中的信息?
- youtube-api - YouTube 直播 API:LiveChatMessages userBannedEvent 未显示
- reactjs - TypeError:firebase.INTERNAL.registerComponent 不是 configureForFirebase 的函数
- python - 从数字列表中格式化字符串
- python-3.x - 设置为 50-50 的 train_test_split 返回高准确度,但在 2 个文件中分离时返回低
- c# - 在实体框架 6 的 where 子句中添加日期和时间列
- javascript - 按地图内数组项内的对象对对象数组进行排序
- c# - Blazor 组件:通知导致线程冲突的集合更改事件