Как я могу передать параметр объекта, чтобы получить метод в веб-API? - PullRequest
0 голосов
/ 13 июня 2019

Как передать параметр объекта в метод get?Я много искал, например как передать параметры в метод asp.net web api get?

Здесь упоминается, что мы должны использовать [FromUri], но я не мог видеть [FromUri] в .NET Core 2

[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

Ответы [ 2 ]

0 голосов
/ 14 июня 2019

Вы можете получить метод с телом ответа.https://docs.microsoft.com/en-us/aspnet/core/web-api/?view=aspnetcore-2.2

[HttpGet]
public IHttpActionResult GetDetails([FromBody] RetrieveDetails  eDetails)
{}

Дополнительная информация HTTP GET с телом запроса

0 голосов
/ 14 июня 2019

Обычно мы используем метод 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
...