예제 #1
0
        public async Task <ApiResponse <string> > HttpClientPostAsync([FromBody] TestRequest testRequest)
        {
            var url      = "http://localhost:49732/api/TestApi/TestIntegration";
            var response = await _requestClient.PostJsonAsync(url, testRequest);

            return(response);
        }
예제 #2
0
        public async Task <ApiResponse <T> > ExecuteRequest <T, TP>(SystemModels.EndPoint endpoint, TP objParam)
        {
            var response    = new ApiResponse <T>();
            var webResponse = new ApiResponse <string>();

            //------------------------- Get Headers ---------------------------------

            Dictionary <string, string> headers = null;

            if (endpoint.Headers != null && endpoint.Headers.Header != null)
            {
                headers = endpoint.Headers.Header.ToDictionary(x => x.Key, x => x.Value);
            }
            //------------------------- Send Request ---------------------------------

            switch (endpoint.HttpMethod.ToUpper())
            {
            case "GET":
                var url = GetRequestUrl <TP>(endpoint.ApiMethod, objParam);
                webResponse = await _requestClient.GetAsync(url, headers);      //todo pass param

                break;

            case "POST":
                webResponse = await _requestClient.PostJsonAsync <TP>(endpoint.ApiMethod, objParam, headers);

                break;
            }
            //------------------------- Deserialize Response -----------------------------

            if (webResponse.Status.Ok && webResponse.Data != null) // desrialize
            {
                response = _serializer.Deserialize <T>(webResponse.Data);
            }
            else
            {
                response.Status = webResponse.Status;
            }
            //------------------------------------------------------------------------
            return(response);
        }