TopBatchResponse.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using System.Collections.Generic;
  2. namespace Top.Api
  3. {
  4. /// <summary>
  5. /// 批量API响应类。
  6. /// </summary>
  7. public class TopBatchResponse : TopResponse
  8. {
  9. /// <summary>
  10. /// 当批量API请求成功后,或获取所有API的响应结果。
  11. /// </summary>
  12. public List<TopResponse> ResponseList { get; set; }
  13. public TopBatchResponse() { }
  14. public TopBatchResponse(string errorCode, string errorMessage)
  15. {
  16. base.ErrCode = errorCode;
  17. base.ErrMsg = ErrMsg;
  18. }
  19. /// <summary>
  20. /// 根据指定的API请求获取相应的API响应结果。
  21. /// </summary>
  22. public T GetResponse<T>(ITopRequest<T> request) where T : TopResponse
  23. {
  24. if (this.ResponseList == null || this.ResponseList.Count == 0)
  25. {
  26. return null;
  27. }
  28. return this.ResponseList[request.GetBatchApiOrder()] as T;
  29. }
  30. public void AddResponse(TopResponse response)
  31. {
  32. if (this.ResponseList == null)
  33. {
  34. this.ResponseList = new List<TopResponse>();
  35. }
  36. this.ResponseList.Add(response);
  37. }
  38. }
  39. }