private ClientGeneratorMethod BuildClassMethod(string url, Method method, Resource resource) { var parentUrl = UrlGeneratorHelper.GetParentUri(url, resource.RelativeUri); var generatedMethod = new ClientGeneratorMethod { Name = NetNamingMapper.GetMethodName(method.Verb ?? "Get" + resource.RelativeUri), ReturnType = GetReturnType(GeneratorServiceHelper.GetKeyForResource(method, resource, parentUrl), method, resource, url), Parameter = GetParameter(GeneratorServiceHelper.GetKeyForResource(method, resource, parentUrl), method, resource, url), Comment = GetComment(resource, method, url), Url = url, Verb = NetNamingMapper.Capitalize(method.Verb), Parent = null, UseSecurity = raml.SecuredBy != null && raml.SecuredBy.Any() || resource.Methods.Any(m => m.Verb == method.Verb && m.SecuredBy != null && m.SecuredBy.Any()), RequestContentTypes = method.Body.Keys.ToArray(), ResponseContentTypes = method.Responses != null?method.Responses.Where(r => r.Body != null).SelectMany(r => r.Body.Keys).ToArray() : new string[0] }; // look in traits // look in resource types return(generatedMethod); }
private void GetRequestObjects() { if (raml.WebApi == null) { return; } foreach (var endpoint in raml.WebApi.EndPoints) { foreach (var operation in endpoint.Operations.Where(o => o.Request != null && o.Request.Payloads.Any())) { var payloads = operation.Request.Payloads; //.Where(p => p.MediaType.Contains("json")); foreach (var payload in payloads) { var id = Guid.NewGuid(); var newElements = new ObjectParser().ParseObject(id, GeneratorServiceHelper.GetKeyForResource(operation, endpoint), payload.Schema, schemaObjects, warnings, enums); foreach (var el in newElements.Item1) { AddElement(el, schemaRequestObjects); } AddNewEnums(newElements.Item2); } } } }
private ClientGeneratorMethod BuildClassMethod(string url, Operation operation, RAML.Parser.Model.EndPoint resource, string modelsNamespace) { var parentUrl = UrlGeneratorHelper.GetParentUri(url, resource.Path); //TODO: check var responseContentTypes = operation.Responses != null? operation.Responses.Where(r => r.Payloads != null).SelectMany(r => r.Payloads).Select(p => p.MediaType).ToArray() : new string[0]; var generatedMethod = new ClientGeneratorMethod { ModelsNamespace = modelsNamespace, Name = NetNamingMapper.GetMethodName(operation.Method ?? "Get" + resource.Path), ReturnType = GetReturnType(operation, resource, url), Parameter = GetParameter(GeneratorServiceHelper.GetKeyForResource(operation, resource), operation, resource, url), Comment = GetComment(resource, operation, url), Url = url, Verb = NetNamingMapper.Capitalize(operation.Method), Parent = null, UseSecurity = resource.Operations.Any(m => m.Method == operation.Method && m.Security != null && m.Security.Any()), RequestContentTypes = operation.ContentType, ResponseContentTypes = responseContentTypes }; // look in traits // look in resource types return(generatedMethod); }
private IDictionary <string, ApiObject> GetRequestObjects() { var objects = new Dictionary <string, ApiObject>(); foreach (var endpoint in raml.WebApi.EndPoints) { foreach (var operation in endpoint.Operations) { var key = GeneratorServiceHelper.GetKeyForResource(operation, endpoint); if (operation.Request != null && operation.Request.Payloads != null) { GetShapes(key, objects, operation.Request.Payloads); } } } return(objects); }
private ClientGeneratorMethod BuildClassMethod(string url, Method method, Resource resource, IDictionary <string, ApiObject> schemaRequestObjects, IDictionary <string, ApiObject> schemaResponseObjects) { var generatedMethod = new ClientGeneratorMethod { Name = NetNamingMapper.GetMethodName(method.Verb ?? "Get" + resource.RelativeUri), ReturnType = GetReturnType(GeneratorServiceHelper.GetKeyForResource(method, resource), method, resource, schemaResponseObjects), Parameter = GetParameter(GeneratorServiceHelper.GetKeyForResource(method, resource), method, resource, schemaRequestObjects), Comment = GetComment(resource, method), Url = url, Verb = NetNamingMapper.Capitalize(method.Verb), Parent = null, UseSecurity = raml.SecuredBy != null && raml.SecuredBy.Any() || resource.Methods.Any(m => m.Verb == method.Verb && m.SecuredBy != null && m.SecuredBy.Any()) }; return(generatedMethod); }