コード例 #1
0
        protected override void OnServiceModelCreating(IServiceModelBuilder serviceModelBuilder)
        {
            var messageConfiguration = serviceModelBuilder.Resource <MessageRecord>();

            // .. Hypermedia
            messageConfiguration.Hypermedia()
            .SetApiCollectionPathSegment("messages");

            // .. ResourceIdentity
            messageConfiguration.ResourceIdentity(x => x.Id)
            .SetApiType("messages");

            // .. Attributes
            messageConfiguration.Attribute(x => x.Message)
            .SetApiPropertyName("message");

            messageConfiguration.Attribute(x => x.CreatedAt)
            .SetApiPropertyName("created_at");


            messageConfiguration.ToOneRelationship <User>(rel: "creator");

            var userConfiguration = serviceModelBuilder.Resource <User>();

            // .. Hypermedia
            userConfiguration.Hypermedia()
            .SetApiCollectionPathSegment("users");

            // .. ResourceIdentity
            userConfiguration.ResourceIdentity(x => x.Id)
            .SetApiType("users");

            // .. Attributes
            userConfiguration.Attribute(x => x.UserName)
            .SetApiPropertyName("username");


            var sessionConfiguration = serviceModelBuilder.Resource <Session>();

            // .. Hypermedia
            sessionConfiguration.Hypermedia()
            .SetApiCollectionPathSegment("sessions");

            sessionConfiguration.Attribute(x => x.CreatedAt)
            .SetApiPropertyName("created_at");

            // .. ResourceIdentity
            sessionConfiguration.ResourceIdentity(x => x.Id)
            .SetApiType("sessions");

            sessionConfiguration.ToOneRelationship <User>(rel: "creator");
        }
コード例 #2
0
        protected override void OnServiceModelCreating(IServiceModelBuilder serviceModelBuilder)
        {
            // Home /////////////////////////////////////////////////////////
            var homeDocumentConfiguration = serviceModelBuilder.Resource <HomeDocument>();

            // .. Hypermedia
            homeDocumentConfiguration.Hypermedia()
            .SetApiCollectionPathSegment(String.Empty);

            // .. ResourceIdentity
            homeDocumentConfiguration.ResourceIdentity()
            .SetApiType("home");

            serviceModelBuilder.HomeResource <HomeDocument>();


            // Author /////////////////////////////////////////////////////////

            var authorConfig = serviceModelBuilder.Resource <Author>();

            // .. Hypermedia
            authorConfig.Hypermedia()
            .SetApiCollectionPathSegment("author");

            authorConfig.ResourceIdentity(x => x.Id)
            .SetApiType("author");


            authorConfig.Attribute(x => x.Name)
            .SetApiPropertyName("name");

            authorConfig.Attribute(x => x.Courses)
            .SetApiPropertyName("courses");

            authorConfig.ToManyRelationship <Course>(rel: "courses");
        }
コード例 #3
0
 protected internal virtual void OnServiceModelCreating(IServiceModelBuilder serviceModelBuilder)
 {
 }
コード例 #4
0
        protected override void OnServiceModelCreating(IServiceModelBuilder serviceModelBuilder)
        {
            // Home /////////////////////////////////////////////////////////
            var homeDocumentConfiguration = serviceModelBuilder.Resource <HomeDocument>();

            // .. Hypermedia
            homeDocumentConfiguration.Hypermedia()
            .SetApiCollectionPathSegment(String.Empty);

            // .. ResourceIdentity
            homeDocumentConfiguration.ResourceIdentity()
            .SetApiType("home");

            serviceModelBuilder.HomeResource <HomeDocument>();

            // World ////////////////////////////////////////////////////////
            var worldConfiguration = serviceModelBuilder.Resource <World>();

            // .. Hypermedia
            worldConfiguration.Hypermedia()
            .SetApiCollectionPathSegment("worlds");

            // .. ResourceIdentity
            worldConfiguration.ResourceIdentity(x => x.Id)
            .SetApiType("worlds");

            // .. Attributes
            worldConfiguration.Attribute(x => x.Name)
            .SetApiPropertyName("name");

            worldConfiguration.Attribute(x => x.SurfaceArea)
            .SetApiPropertyName("surface-area");

            worldConfiguration.Attribute(x => x.SupportLife)
            .SetApiPropertyName("support-life");

            worldConfiguration.Attribute(x => x.HasWater)
            .SetApiPropertyName("has-water");

            // .. Relationships
            worldConfiguration.ToOneRelationship <SolarSystem>(rel: "solar-system");
            worldConfiguration.ToManyRelationship <Moon>(rel: "moons");

            // Solar System /////////////////////////////////////////////////
            var solarSystemConfiguration = serviceModelBuilder.Resource <SolarSystem>();

            // .. Hypermedia
            solarSystemConfiguration.Hypermedia()
            .SetApiCollectionPathSegment("solar-systems");

            // .. ResourceIdentity
            solarSystemConfiguration.ResourceIdentity(x => x.Id)
            .SetApiType("solar-systems");

            // .. Attributes
            solarSystemConfiguration.Attribute(x => x.Name)
            .SetApiPropertyName("name");

            // Moon /////////////////////////////////////////////////////////
            var moonConfiguration = serviceModelBuilder.Resource <Moon>();

            // .. Hypermedia
            moonConfiguration.Hypermedia()
            .SetApiCollectionPathSegment("moons");

            // .. ResourceIdentity
            moonConfiguration.ResourceIdentity(x => x.Id)
            .SetApiType("moons");

            // .. Attributes
            moonConfiguration.Attribute(x => x.Name)
            .SetApiPropertyName("name");
        }
コード例 #5
0
ファイル: ServicesApiController.cs プロジェクト: yurinaN/lkg
 public ServicesApiController(IServiceModelBuilder serviceModelBuilder,
                              IServiceModelHandler serviceModelHandler)
 {
     this.serviceModelBuilder = serviceModelBuilder;
     this.serviceModelHandler = serviceModelHandler;
 }