asp.net-mvc – 控制器操作无法从JSON读取Guid POST
发布时间:2020-05-22 16:22:54 所属栏目:asp.Net 来源:互联网
导读:我有一个Controller动作声明为: [Route(api/person)][HttpPost]public async TaskIActionResult Person([FromBody] Guid id) { ... } 我发帖到它: POST /api/person HTTP/1.1Host: localhost:5000Content-Type: applicatio
|
我有一个Controller动作声明为: [Route("api/person")]
[HttpPost]
public async Task<IActionResult> Person([FromBody] Guid id) { ... }
我发帖到它: POST /api/person HTTP/1.1
Host: localhost:5000
Content-Type: application/json
Cache-Control: no-cache
Postman-Token: 747a5d76-398c-e1c7-b948-b276bb24976c
{
"id": "b85f75d8-e6f1-405d-90f4-530af8e060d5"
}
我的动作被击中,但它收到的Guid总是一个Guid.Empty值(即:它没有得到我传递的值). 请注意,如果我使用url参数而不是[FromBody],这可以正常工作,但我想使用http帖子的主体. 解决方法如 Web API documentation中所述:
此外,在使用[FromBody]部分的同一篇文章中,您可以看到可以在参数上添加属性[FromBody]的示例,以便绑定请求正文中的值,就像您一样.但是这里是catch – 示例显示,在这种情况下,请求主体应该包含原始值,而不是JSON对象. 所以在你的情况下你有两个选择: 第一个选项是更改您的请求以提供原始值而不是JSON对象 POST /api/person HTTP/1.1 Host: localhost:5000 Content-Type: application/json Cache-Control: no-cache Postman-Token: 747a5d76-398c-e1c7-b948-b276bb24976c "b85f75d8-e6f1-405d-90f4-530af8e060d5" 第二个选项是提供具有单个属性的复杂对象并将其用作参数: public class Request
{
public Guid Id { get; set; }
}
[Route("api/person")]
[HttpPost]
public async Task<IActionResult> Person([FromBody] Request request) { ... } (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 组合密钥资源REST服务
- asp.net – 编辑条目时的实体框架DateTime格式
- asp.net – 你对Windows Workflow Foundation有什么经验?
- asp.net – 如何提取与Outlook正在显示的employeeID属性值相
- asp.net-web-api – ASP.NET WebApi测试 – 断言请求返回40
- asp.net-mvc – 从我的网页链接下载文件
- asp.net-mvc – MVC5注销链接从不同区域失败
- 如何在ASP.NET中垂直对齐对象?
- asp.net-web-api – 使用控制器上的Xml注释的ASP.NET Web A
- asp.net-mvc – 如何使用绑定前缀?
推荐文章
站长推荐
- asp.net-mvc – 使用ASP.NET MVC /实体框架对POC
- asp.net – 在Response.End之前使用Response.Flu
- asp.net-mvc – ASP.NET MVC FluentValidation P
- asp.net-core – 如何检索当前响应体长度?
- asp.net – RazorGenerator没有生成正确的命名空
- asp.net-mvc – 与SmtpClient.UseDefaultCredent
- ASP.net vs PHP(选择什么)
- asp.net – 用于分析在azure上运行的网站性能的步
- asp.net – Request.ServerVariables [“REMOTE_
- asp.net – precompiledApp.config的目的是什么?
热点阅读
