如何通过对象参数获取方法?我搜了很多 例如how to pass parameters to asp.net web api get method?
这里提到我们应该使用[FromUri],但在.NET Core 2中看不到[FromUri]
[HttpGet]
public IHttpActionResult GetDetails([FromUri] RetrieveDetails eDetails)
{}
以下是课程
public class RetrieveDetails
{
public string Name{ get; set; }
public string Type { get; set; }
public List<MoreDetails> MoreDetails { get; set; }
}
public class MoreDetails {
public string DetailName{ get; set; }
}
但是FromUri不能在.NET Core 2中使用
答案 0 :(得分:0)
通常,我们使用POST
方法来传递复杂类型。但是对于[FromQuery]
方法,您也可以使用GET
来实现。
操作:
[HttpGet("Test")]
public async Task<IActionResult> GetDetails([FromQuery]RetrieveDetails eDetails)
网址:
.../Test?eDetails.Name=hello&eDetails.Type=world&eDetails.MoreDetails[0].DetailName=size&eDetails.MoreDetails[1].DetailName=price
答案 1 :(得分:0)
您可以使用带有响应正文的get方法。 https://docs.microsoft.com/en-us/aspnet/core/web-api/?view=aspnetcore-2.2
[HttpGet]
public IHttpActionResult GetDetails([FromBody] RetrieveDetails eDetails)
{}