我有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
变量中,我仅看到会话参数。如何从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&...