asp.net - 如何将课程传递给服务器
问题描述
将单个整数参数从我的客户端传递到服务器上的 API 是可行的。
[HttpPost]
public JsonResult GetNextClients(int? clientID)
但是通过一堂课不会。
此处定义的类:
public class ClientParameters
{
public int ClientID;
public int FamilyID;
public bool IncludeFirstName;
public bool IncludeLastName;
public bool ExactDate;
}
方法:
[HttpPost]
public JsonResult GetClients(ClientParameters param)
我发送的数据如下所示:
return {
"ClientID": 5,
"FamilyID": 12,
"IncludeFirstName": true,
"IncludeLastName": true,
"ExactDate": true
};
从 Fiddler 运行它会命中我的方法,我得到了类,但它都是默认值。
我尝试了 JSON.Stringify 并从客户端和 Fiddler 发送
"{\"ClientID\":5,\"FamilyID\":0,\"IncludeFirstName\":true,\"IncludeLastName\":true,\"ExactDate\":true}"
我尝试添加
dataType: "json"
contentType: "application/json; charset=utf-8"
仍然获得默认值。
标准路由:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
解决方案
以下是 .NET Core 3.1 中的 C# API 示例。代码在控制器中,它是具有服务层的存储库模式的一部分,全部使用依赖注入。
[HttpPost]
public virtual ActionResult<T> Create([FromBody] T data)
{
try
{
return Ok(_service.Create(data));
}
catch (Exception e)
{
return BadRequest(e.Message);
}
}
请注意,您需要[FromBody]
在您的 post 请求参数
查看以下链接的“发送 POST 请求”部分,以确保您的 AJAX 格式正确。 发送 POST 请求
推荐阅读
- ruby-on-rails - tailwindcss 排版“SassC::SyntaxError:错误:类型的未终止属性选择器”
- python - 如何从excel文件更新json
- ios - Firebase 唯一键始终为零
- function - 限制 R 中自定义函数的域
- c++ - WinHTTP 异步上下文在回调中无效
- printing - 如何打印我指示的点之间的距离?
- python - 如何在创建对象时增加父类中的静态计数器
- excel - 如果它们包含关键字,如何将行从一个工作表移动到另一个工作表
- node.js - 将 OKTA 集成到现有的 AD 应用程序中 - NodeJS ExpressOIDC
- c - C 中的队列和动态分配结构的问题