首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Asp.net核中传递HttpGet的数组属性?

如何在Asp.net核中传递HttpGet的数组属性?
EN

Stack Overflow用户
提问于 2017-10-17 10:52:18
回答 1查看 2K关注 0票数 1

我有Asp.Net WebApi 2 project, Now converted into Asp.Net Core 2.0

具有数组属性的HttpGet方法无法绑定模型。

该模型在Asp.net Core2.0中为空(使用swagger进行测试)

需要做什么改变吗?

代码语言:javascript
运行
复制
public class Customer
{       
    public string name { get; set; }
    public new string[] systemId { get; set; }
}

CustomerController.cs

代码语言:javascript
运行
复制
[HttpGet]
public IActionResult RetrieveData(Customer filters)
{
// code 

在Asp.net WebApi2中,它正常工作,但在Asp.net中,核心值不能绑定,值为null。

如果将其更改为HttpPost,它将运行得很好,但是为什么HttpGet不能像ASP.Net WebApi2那样工作呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-17 10:57:22

.net核心将其默认绑定更改为FromBody。所以你现在的签名应该是:

代码语言:javascript
运行
复制
[HttpGet]
public IActionResult RetrieveData([FromBody]Customer filters)
{
// code 

把它当作身体送去。

您还可以使用data-属性:FromQuery

您可以阅读本文:https://www.strathweb.com/2016/09/required-query-string-parameters-in-asp-net-core-mvc/

干杯!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46788399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档