コード例 #1
0
        public object MapResponse(ResponseMetadata metadata, IResponse response)
        {
            response.AssertNotNull(nameof(response));

            if (metadata.Parameters.Count == 1)
            {
                var p = metadata.Parameters[0];
                if (p.ParameterKind == RequestParameterKind.Body)
                {
                    var content     = response.Content;
                    var contentData = content.ReadAsArray();

                    return(RestSerializer.DeserializeContent(contentData, content.ContentType, metadata.ResultType));
                }
            }

            var model          = Activator.CreateInstance(metadata.ResultType); //TODO
            var bindingContext = new ResponseBindingContext(metadata, model, response);

            foreach (var p in metadata.Parameters)
            {
                //if (p.ParameterKind == RequestParameterKind.Content)
                //{
                //    if (p.ContentKind == RestContentKind.File)
                //    {

                //    }
                //    else
                //    {
                //        throw new NotImplementedException("TODO");
                //    }
                //}
                //else
                {
                    throw new NotImplementedException("TODO");
                }
            }

            return(model);
        }