示例#1
0
 /// <summary>
 /// 执行POST请求
 /// </summary>
 /// <typeparam name="TResponse">响应</typeparam>
 /// <typeparam name="TMODELRequest">请求模型</typeparam>
 /// <typeparam name="TModelResponse">响应模型</typeparam>
 /// <param name="request">请求参数</param>
 /// <param name="accessToken">令牌值</param>
 /// <returns>响应参数</returns>
 public TResponse Execute <TResponse, TMODELRequest, TModelResponse> (POSTArrayRequest <TResponse, TMODELRequest, TModelResponse> request, string accessToken = null)
     where TResponse : POSTArrayResponse <TModelResponse>
     where TMODELRequest : POSTArrayRequestModel
     where TModelResponse : POSTArrayResponseModel
 {
     return(ExecuteAsync(request, accessToken).Result);
 }
示例#2
0
 /// <summary>
 /// 创建POST请求Body参数
 /// </summary>
 /// <typeparam name="TResponse">响应</typeparam>
 /// <typeparam name="TMODELRequest">请求模型</typeparam>
 /// <typeparam name="TModelResponse">响应模型</typeparam>
 /// <param name="request">api请求参数</param>
 /// <param name="APIDoman">api域名地址</param>
 /// <param name="accessToken">令牌值</param>
 /// <returns>api请求完整地址</returns>
 protected virtual string CreatePOSTArrayParameter <TResponse, TMODELRequest, TModelResponse> (POSTArrayRequest <TResponse, TMODELRequest, TModelResponse> request, string APIDoman, string accessToken)
     where TResponse : POSTArrayResponse <TModelResponse>
     where TMODELRequest : POSTArrayRequestModel
     where TModelResponse : POSTArrayResponseModel
 {
     return(request.ToJson());
 }
示例#3
0
        /// <summary>
        /// 执行POST请求
        /// </summary>
        /// <typeparam name="TResponse">响应</typeparam>
        /// <typeparam name="TMODELRequest">请求模型</typeparam>
        /// <typeparam name="TModelResponse">响应模型</typeparam>
        /// <param name="request">请求参数</param>
        /// <param name="accessToken">令牌值</param>
        /// <returns>响应参数</returns>
        public async Task <TResponse> ExecuteAsync <TResponse, TMODELRequest, TModelResponse> (POSTArrayRequest <TResponse, TMODELRequest, TModelResponse> request, string accessToken = null)
            where TResponse : POSTArrayResponse <TModelResponse>
            where TMODELRequest : POSTArrayRequestModel
            where TModelResponse : POSTArrayResponseModel
        {
            var _accessToken     = accessToken ?? AccessToken;
            Uri url              = CreatePOSTUrl(APIDoman, request.APIName, request.APIVersion, _accessToken);
            var request_json     = CreatePOSTArrayParameter(request, APIDoman, _accessToken);
            var httpmsg_response = await HTTPClient.PostAsync(url, request_json, MediaTypeHeaderValue.Parse("application/json;charset=utf-8"));

            string response = await httpmsg_response.Content.ReadAsStringAsync();

            try {
                return(response.ToJsonObj <TResponse> ());
            } catch (Newtonsoft.Json.JsonReaderException) {
                throw new Newtonsoft.Json.JsonReaderException($"未识别的JSON字符串:{response}");
            }
        }