Esempio n. 1
0
        public static void Register(HttpConfiguration config)
        {
            // Uncomment the following to use the documentation from XML documentation file.
            config.SetDocumentationProvider(new XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/App_Data/XmlDocument.xml")));

            // Uncomment the following to use "sample string" as the sample for all actions that have string as the body parameter or return type.
            // Also, the string arrays will be used for IEnumerable<string>. The sample objects will be serialized into different media type
            // formats by the available formatters.
            config.SetSampleObjects(new Dictionary<Type, object>
                {
                    {typeof (string), "sample string"},
                    {typeof (IEnumerable<string>), new[] {"sample 1", "sample 2"}}
                });

            // Uncomment the following to use "[0]=foo&[1]=bar" directly as the sample for all actions that support form URL encoded format
            // and have IEnumerable<string> as the body parameter or return type.
            config.SetSampleForType("[0]=foo&[1]=bar", new MediaTypeHeaderValue("application/x-www-form-urlencoded"), typeof (IEnumerable<string>));

            // Uncomment the following to use "1234" directly as the request sample for media type "text/plain" on the controller named "Values"
            // and action named "Put".
            config.SetSampleRequest("1234", new MediaTypeHeaderValue("text/plain"), "Values", "Put");

            // Uncomment the following to use the image on "../images/aspNetHome.png" directly as the response sample for media type "image/png"
            // on the controller named "Values" and action named "Get" with parameter "id".
            config.SetSampleResponse(new ImageSample("../images/aspNetHome.png"), new MediaTypeHeaderValue("image/png"), "Values", "Get", "id");

            // Uncomment the following to correct the sample request when the action expects an HttpRequestMessage with ObjectContent<string>.
            // The sample will be generated as if the controller named "Values" and action named "Get" were having string as the body parameter.
            config.SetActualRequestType(typeof (string), "Values", "Get");

            // Uncomment the following to correct the sample response when the action returns an HttpResponseMessage with ObjectContent<string>.
            // The sample will be generated as if the controller named "Values" and action named "Post" were returning a string.
            config.SetActualResponseType(typeof (string), "Values", "Post");
        }
        public static void Register(HttpConfiguration config)
        {
            //// Uncomment the following to use the documentation from XML documentation file.
            config.SetDocumentationProvider(new XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/App_Data/XmlDocument.xml")));

            //// Uncomment the following to use "sample string" as the sample for all actions that have string as the body parameter or return type.
            //// Also, the string arrays will be used for IEnumerable<string>. The sample objects will be serialized into different media type
            //// formats by the available formatters.
            config.SetSampleObjects(new Dictionary<Type, object>
            {
                {typeof(string), "{'status':'Succeeded','result':[{'localUrl':'http://localhost/ImagesDownloader/Images/ximnobo2.vqo/c9aef841-7cd2-47e3-be25-436c091101c5.gif','remoteUrl':'https://cdn0.vox-cdn.com/images/verge/default-avatar.v9899025.gif','width':0,'height':0,'size':2926,'contentType':'image/gif'}]}"},
                {typeof(IEnumerable<string>), new string[]{"sample 1", "sample 2"}}
            });

            // Extend the following to provide factories for types not handled automatically (those lacking parameterless
            // constructors) or for which you prefer to use non-default property values. Line below provides a fallback
            // since automatic handling will fail and GeneratePageResult handles only a single type.
            #if Handle_PageResultOfT
            config.GetHelpPageSampleGenerator().SampleObjectFactories.Add(GeneratePageResult);
            #endif

            // Extend the following to use a preset object directly as the sample for all actions that support a media
            // type, regardless of the body parameter or return type. The lines below avoid display of binary content.
            // The BsonMediaTypeFormatter (if available) is not used to serialize the TextSample object.
            /*config.SetSampleForMediaType(
                new TextSample("Binary JSON content. See http://bsonspec.org for details."),
                new MediaTypeHeaderValue("application/bson"));*/

            //// Uncomment the following to use "[0]=foo&[1]=bar" directly as the sample for all actions that support form URL encoded format
            //// and have IEnumerable<string> as the body parameter or return type.
            //config.SetSampleForType("[0]=foo&[1]=bar", new MediaTypeHeaderValue("application/x-www-form-urlencoded"), typeof(IEnumerable<string>));

            //// Uncomment the following to use "1234" directly as the request sample for media type "text/plain" on the controller named "Values"
            //// and action named "Put".
            //config.SetSampleRequest("1234", new MediaTypeHeaderValue("text/plain"), "Jobs", "Get");
            config.SetSampleRequest("{'value': 'http://www.theverge.com'}}", new MediaTypeHeaderValue("application/json"), "Jobs", "Post");

            //// Uncomment the following to use "1234" directly as the request sample for media type "text/plain" on the controller named "Values"
            //// and action named "Put".
            //config.SetSampleRequest("1234", new MediaTypeHeaderValue("text/plain"), "Values", "Put");

            //// Uncomment the following to use the image on "../images/aspNetHome.png" directly as the response sample for media type "image/png"
            //// on the controller named "Values" and action named "Get" with parameter "id".
            //config.SetSampleResponse(new ImageSample("../images/aspNetHome.png"), new MediaTypeHeaderValue("image/png"), "Values", "Get", "id");

            //// Uncomment the following to correct the sample request when the action expects an HttpRequestMessage with ObjectContent<string>.
            //// The sample will be generated as if the controller named "Values" and action named "Get" were having string as the body parameter.
            //config.SetActualRequestType(typeof(string), "Jobs", "Get");

            //// Uncomment the following to correct the sample response when the action returns an HttpResponseMessage with ObjectContent<string>.
            //// The sample will be generated as if the controller named "Values" and action named "Post" were returning a string.
            config.SetActualResponseType(typeof(string), "Jobs", "GetById");
        }
Esempio n. 3
0
        public static void Register(HttpConfiguration config)
        {
            //// Uncomment the following to use the documentation from XML documentation file.
            config.SetDocumentationProvider(new XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/App_Data/SearchApi.xml")));

            //// Uncomment the following to use "sample string" as the sample for all actions that have string as the body parameter or return type.
            //// Also, the string arrays will be used for IEnumerable<string>. The sample objects will be serialized into different media type
            //// formats by the available formatters.
            config.SetSampleObjects(new Dictionary<Type, object>
            {
                {typeof(FarmLocationDto), new FarmLocationDto{Name = "Pierrafortscha's Farm", Latitude=46.786415, Longitude =7.185928}},
                {typeof(IEnumerable<FarmLocationDto>),new []
                {
                    new FarmLocationDto{Name = "Pierrafortscha's Farm", Latitude=46.786415, Longitude =7.185928},
                    new FarmLocationDto{Name = "Tentlingen's Farm House", Latitude=46.769621, Longitude =7.186067},
                }}
            });

            // Extend the following to provide factories for types not handled automatically (those lacking parameterless
            // constructors) or for which you prefer to use non-default property values. Line below provides a fallback
            // since automatic handling will fail and GeneratePageResult handles only a single type.
            #if Handle_PageResultOfT
            config.GetHelpPageSampleGenerator().SampleObjectFactories.Add(GeneratePageResult);
            #endif

            // Extend the following to use a preset object directly as the sample for all actions that support a media
            // type, regardless of the body parameter or return type. The lines below avoid display of binary content.
            // The BsonMediaTypeFormatter (if available) is not used to serialize the TextSample object.
            config.SetSampleForMediaType(
                new TextSample("Binary JSON content. See http://bsonspec.org for details."),
                new MediaTypeHeaderValue("application/bson"));

            //// Uncomment the following to use "[0]=foo&[1]=bar" directly as the sample for all actions that support form URL encoded format
            //// and have IEnumerable<string> as the body parameter or return type.
            //config.SetSampleForType("[0]=foo&[1]=bar", new MediaTypeHeaderValue("application/x-www-form-urlencoded"), typeof(IEnumerable<string>));

            //// Uncomment the following to use "1234" directly as the request sample for media type "text/plain" on the controller named "Values"
            //// and action named "Put".
            //config.SetSampleRequest("1234", new MediaTypeHeaderValue("text/plain"), "Values", "Put");

            //// Uncomment the following to use the image on "../images/aspNetHome.png" directly as the response sample for media type "image/png"
            //// on the controller named "Values" and action named "Get" with parameter "id".
            //config.SetSampleResponse(new ImageSample("../images/aspNetHome.png"), new MediaTypeHeaderValue("image/png"), "Values", "Get", "id");

            //// Uncomment the following to correct the sample request when the action expects an HttpRequestMessage with ObjectContent<string>.
            //// The sample will be generated as if the controller named "Values" and action named "Get" were having string as the body parameter.
            //config.SetActualRequestType(typeof(string), "Values", "Get");

            //// Uncomment the following to correct the sample response when the action returns an HttpResponseMessage with ObjectContent<string>.
            //// The sample will be generated as if the controller named "Values" and action named "Post" were returning a string.
            config.SetActualResponseType(typeof(IEnumerable<FarmLocationDto>), "Search", "GetFarms");
        }
Esempio n. 4
0
        public static void Register(HttpConfiguration config)
        {
            //// Uncomment the following to use the documentation from XML documentation file.
            config.SetDocumentationProvider(new XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/App_Data/XmlDocumentation.xml")));

            // Uncomment the following to use "sample string" as the sample for all actions that have string as the body parameter or return type.
            // Also, the string arrays will be used for IEnumerable<string>. The sample objects will be serialized into different media type
            // formats by the available formatters.
            config.SetSampleObjects(new Dictionary<Type, object>
            {
                {typeof(string), "exempel"},
                {typeof(IEnumerable<string>), new string[]{"exempel 1", "exempel 2"}}
            });

            // Extend the following to provide factories for types not handled automatically (those lacking parameterless
            // constructors) or for which you prefer to use non-default property values. Line below provides a fallback
            // since automatic handling will fail and GeneratePageResult handles only a single type.
            #if Handle_PageResultOfT
            config.GetHelpPageSampleGenerator().SampleObjectFactories.Add(GeneratePageResult);
            #endif

            // Extend the following to use a preset object directly as the sample for all actions that support a media
            // type, regardless of the body parameter or return type. The lines below avoid display of binary content.
            // The BsonMediaTypeFormatter (if available) is not used to serialize the TextSample object.
            config.SetSampleForMediaType(
                new TextSample("Binary JSON content. See http://bsonspec.org for details."),
                new MediaTypeHeaderValue("application/bson"));

            // Uncomment the following to use "[0]=foo&[1]=bar" directly as the sample for all actions that support form URL encoded format
            // and have IEnumerable<string> as the body parameter or return type.
            config.SetSampleForType("FirstName=sample1&LastName=sample2&BossId=sampleBoss&[email protected] &AdTitle=sample3&OwnTitle=sample4&Seat=sample5&UserName=sample6&Phone=1234&Mobile=1234&Office=sample7 &Company=sample8&PersonalInfo=sample9&Active=true&CostCentre=15", new MediaTypeHeaderValue("application/x-www-form-urlencoded"), typeof(SimpleUser));

            //// Uncomment the following to use "1234" directly as the request sample for media type "text/plain" on the controller named "Values"
            //// and action named "Put".
            //config.SetSampleRequest("1234", new MediaTypeHeaderValue("text/plain"), "Values", "Put");

            //// Uncomment the following to use the image on "../images/aspNetHome.png" directly as the response sample for media type "image/png"
            //// on the controller named "Values" and action named "Get" with parameter "id".
            //config.SetSampleResponse(new ImageSample("../images/aspNetHome.png"), new MediaTypeHeaderValue("image/png"), "Values", "Get", "id");

            //// Uncomment the following to correct the sample request when the action expects an HttpRequestMessage with ObjectContent<string>.
            //// The sample will be generated as if the controller named "Values" and action named "Get" were having string as the body parameter.
            //config.SetActualRequestType(typeof(string), "Values", "Get");

            //// Uncomment the following to correct the sample response when the action returns an HttpResponseMessage with ObjectContent<string>.
            //// The sample will be generated as if the controller named "Values" and action named "Post" were returning a string.
            //config.SetActualResponseType(typeof(string), "Values", "Post");
        }
        public void SetSampleObjects()
        {
            HttpConfiguration config = new HttpConfiguration();
            Dictionary<Type, object> sampleObjects = new Dictionary<Type, object>
            {
                {typeof(int), 21},
                {typeof(string), "sample"}
            };
            config.SetSampleObjects(sampleObjects);

            object sampleGeneratorObj;
            config.Properties.TryGetValue(typeof(HelpPageSampleGenerator), out sampleGeneratorObj);
            HelpPageSampleGenerator sampleGenerator = Assert.IsType<HelpPageSampleGenerator>(sampleGeneratorObj);
            Assert.Same(sampleObjects, sampleGenerator.SampleObjects);
        }
 public void GetHelpPageApiModel_HandlesException_ThrownDuringSampleObjectSerialization()
 {
     HttpConfiguration config = new HttpConfiguration();
     config.Formatters.Clear();
     config.Formatters.Add(new JQueryMvcFormUrlEncodedFormatter());
     config.SetSampleObjects(new Dictionary<Type, object> { { typeof(string), "sample" } });
     config.Routes.MapHttpRoute("Default", "{controller}/{id}", new { id = RouteParameter.Optional });
     HelpPageApiModel model = config.GetHelpPageApiModel("Post-Values");
     Assert.NotNull(model);
     Assert.NotEmpty(model.ErrorMessages);
     Assert.Equal("Failed to generate the sample for media type 'application/x-www-form-urlencoded'. Cannot use formatter 'JQueryMvcFormUrlEncodedFormatter' to write type 'String'.", model.ErrorMessages[0]);
 }
        public static void Register( HttpConfiguration config )
        {
            // Uncomment the following to use the documentation from XML documentation file.
            config.SetDocumentationProvider( new XmlDocumentationProvider( HttpContext.Current.Server.MapPath( "~/App_Data/chrisparkeronline.XML" ) ) );

            // Uncomment the following to use "sample string" as the sample for all actions that have string as the body parameter or return type.
            // Also, the string arrays will be used for IEnumerable<string>. The sample objects will be serialized into different media type 
            // formats by the available formatters.
            config.SetSampleObjects( new Dictionary<Type, object>
            {
                {typeof(string), "sample string"},
                {typeof(IEnumerable<string>), new string[]{"sample 1", "sample 2"}}
            } );

            // Extend the following to provide factories for types not handled automatically (those lacking parameterless
            // constructors) or for which you prefer to use non-default property values. Line below provides a fallback
            // since automatic handling will fail and GeneratePageResult handles only a single type.
#if Handle_PageResultOfT
            config.GetHelpPageSampleGenerator().SampleObjectFactories.Add(GeneratePageResult);
#endif

            //var types = Assembly.GetAssembly( typeof( HelpPageConfig ) ).GetTypes()
            //    .Where( type => type.IsClass && !type.IsAbstract )
            //    .Where( type => typeof( IWebApiV1 ).IsAssignableFrom( type ) );

            //var sampleObjectDictionary = types.Select( type => ( ( IWebApiV1 )Activator.CreateInstance( type ) )
            //    .CreateSampleObjectsEntry() ).ToDictionary( entry => entry.Key, entry => entry.Value );

            //config.SetSampleObjects( sampleObjectDictionary );

            // Extend the following to use a preset object directly as the sample for all actions that support a media
            // type, regardless of the body parameter or return type. The lines below avoid display of binary content.
            // The BsonMediaTypeFormatter (if available) is not used to serialize the TextSample object.
            //config.SetSampleForMediaType(
            //    new TextSample( "Binary JSON content. See http://bsonspec.org for details." ),
            //    new MediaTypeHeaderValue( "application/bson" ) );

            //config.SetSampleForMediaType(
            //    null,
            //    new MediaTypeHeaderValue( "application/json" ) );

            // Uncomment the following to use "[0]=foo&[1]=bar" directly as the sample for all actions that support form URL encoded format
            // and have IEnumerable<string> as the body parameter or return type.
            //config.SetSampleForType( "[0]=foo&[1]=bar", new MediaTypeHeaderValue( "application/x-www-form-urlencoded" ), typeof( FoodBankDto ) );

            // Uncomment the following to use "1234" directly as the request sample for media type "text/plain" on the controller named "Values"
            // and action named "Put".
            config.SetSampleRequest( "1234", new MediaTypeHeaderValue( "text/plain" ), "Values", "Put" );

            // Uncomment the following to use the image on "../images/aspNetHome.png" directly as the response sample for media type "image/png"
            // on the controller named "Values" and action named "Get" with parameter "id".
            config.SetSampleResponse( new ImageSample( "../images/aspNetHome.png" ), new MediaTypeHeaderValue( "image/png" ), "Values", "Get", "id" );

            //// Uncomment the following to correct the sample request when the action expects an HttpRequestMessage with ObjectContent<string>.
            //// The sample will be generated as if the controller named "Values" and action named "Get" were having string as the body parameter.
            //config.SetActualRequestType(typeof(string), "Values", "Get");

            //// Uncomment the following to correct the sample response when the action returns an HttpResponseMessage with ObjectContent<string>.
            //// The sample will be generated as if the controller named "Values" and action named "Post" were returning a string.
            //config.SetActualResponseType(typeof(string), "Values", "Post");
        }