Define the resource
In REST (an acronym for Representational State Transfer), a resource is defined as a piece of data that can be accessed using a unique URI (Uniform Resource Identifier). Typically, the resource is described using a model object. In this example, our resource will be an instance of the Article class.
In the project we just created, create a new file named Article.cs and write the following code in there to create our resource type.
public class Article
{
public int Id { get; set; }
public string Title { get; set; }
public string Description { get; set; }
internal readonly string Author;
}
Create a repository for the resource
In an ASP.NET Core application a repository is used to provide access to the data store. In this example, we’ll create an article repository that consists of two types — the IArticleRepository interface and the ArticleRepository class that implements this interface.
Create an interface named IArticleRepository in a file having the same name with a .cs extension and replace the default generated code with the following code.
public interface IArticleRepository
{
public Article GetArticle(int id);
public List GetArticles();
}
Next create the ArticleRepository class. The ArticleRepository class implements the methods of the IArticleRepository interface as shown in the code snippet given below.
public class ArticleRepository : IArticleRepository
{
public Article GetArticle(int id)
{
throw new NotImplementedException();
}
public List GetArticles()
{
throw new NotImplementedException();
}
}
Register the repository in the Program.cs file
You should now register the ArticleRepository class as a service using the following line of code in the Program.cs file.