Skip to content

Commit 0cb6085

Browse files
committed
Modernify MovieRest by removing [DataContract] attrs and move to new Route configuration
1 parent b2ba4b4 commit 0cb6085

File tree

2 files changed

+7
-29
lines changed

2 files changed

+7
-29
lines changed

src/ServiceStack.MovieRest/Global.asax.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,12 @@ public override void Configure(Container container)
2222

2323
var resetMovies = container.Resolve<ResetMoviesService>();
2424
resetMovies.Post(null);
25+
26+
Routes
27+
.Add<Movie>("/movies", "POST,PUT")
28+
.Add<Movie>("/movies/{Id}")
29+
.Add<Movies>("/movies")
30+
.Add<Movies>("/movies/genres/{Genre}");
2531
}
2632
}
2733

src/ServiceStack.MovieRest/MovieService.cs

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2,57 +2,36 @@
22
using System.Collections.Generic;
33
using System.ComponentModel;
44
using System.Net;
5-
using System.Runtime.Serialization;
65
using ServiceStack.Common.Extensions;
76
using ServiceStack.Common.Web;
87
using ServiceStack.DataAnnotations;
98
using ServiceStack.OrmLite;
10-
using ServiceStack.ServiceHost;
119
using ServiceStack.ServiceInterface;
1210
using ServiceStack.Text;
1311

1412
namespace ServiceStack.MovieRest
1513
{
1614
[Description("GET or DELETE a single movie by Id. Use POST to create a new Movie and PUT to update it")]
17-
[RestService("/movies", "POST,PUT")]
18-
[RestService("/movies/{Id}")]
19-
[DataContract]
2015
public class Movie
2116
{
2217
public Movie()
2318
{
2419
this.Genres = new List<string>();
2520
}
2621

27-
[DataMember] [AutoIncrement]
22+
[AutoIncrement]
2823
public int Id { get; set; }
29-
30-
[DataMember]
3124
public string ImdbId { get; set; }
32-
33-
[DataMember]
3425
public string Title { get; set; }
35-
36-
[DataMember]
3726
public decimal Rating { get; set; }
38-
39-
[DataMember]
4027
public string Director { get; set; }
41-
42-
[DataMember]
4328
public DateTime ReleaseDate { get; set; }
44-
45-
[DataMember]
4629
public string TagLine { get; set; }
47-
48-
[DataMember]
4930
public List<string> Genres { get; set; }
5031
}
5132

52-
[DataContract]
5333
public class MovieResponse
5434
{
55-
[DataMember]
5635
public Movie Movie { get; set; }
5736
}
5837

@@ -121,21 +100,14 @@ public override object OnDelete(Movie request)
121100
}
122101
}
123102

124-
125-
[DataContract]
126103
[Description("Find movies by genre, or all movies if no genre is provided")]
127-
[RestService("/movies", "GET")]
128-
[RestService("/movies/genres/{Genre}")]
129104
public class Movies
130105
{
131-
[DataMember]
132106
public string Genre { get; set; }
133107
}
134108

135-
[DataContract]
136109
public class MoviesResponse
137110
{
138-
[DataMember]
139111
public List<Movie> Movies { get; set; }
140112
}
141113

0 commit comments

Comments
 (0)