我有 GET API 方法:
[HttpGet]
public List<TripDto> Get([FromQuery]RequestDto req)
{
// some logic here
}
RequestDto 是一个复杂的对象:
public class RequestDto
{
public List<SegmentDto> Segments { get; set; } = new List<SegmentDto>();
public string SessionId { get; set; }
}
public class SegmentDto
{
public string Departure { get; set; }
public string Arrival { get; set; }
public DateTime Date { get; set; }
}
当我发送请求时:
http://localhost:5000/trips?Segments[0][Departure]=SIP&Segments[0][Arrival]=MOW&Segments[1][Departure]=MOW&Segments[1][Arrival]=SIP&SessionId=s1
在我的 req
变量中,我只看到 session 参数。如何从 GET 请求中解析复杂的列表结构?
最佳答案
1)您不需要初始化仅用于解析的类中的属性
public class RequestDto
{
public List<SegmentDto> Segments { get; set; }
public string SessionId { get; set; }
}
2)对对象使用点表示法(不需要大写名称)
?segments[0].departure=SIP&segments[0].arrival=MOW&...
关于c# - ASP.NET核心: Parse complex struct from URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60532713/