Designing REST API architecture

The REST architecture consists of three layers. The architecture is shown in the picture below.

The web layer is the top layer in the architecture. It is responsible for processing user queries and returning back responses to the user. These operations happen in the controllers. The web layer handles exceptions which have appeared in the other layers. If the REST API is secured, the authentication process is handled in the web layer.

The service layer is located below the web layer. It applies additional business logic on client requests before passing the request to the next layer. The data provided from the Repository layer can also be transformed in the Service layer before passing it back to the user as a response. The design principle ‘Separation of concerns’ is achieved by placing business logic in the service layer. Thus the controllers located in the web layer remain clear of business logic.

The repository layer is the bottom layer in the architecture. It is responsible for communicating with the database. The CRUD (Create, Read, Update, Delete) operations are performed in the repository layer.

In the next article we will see a complete example of implementing the REST architecture in a real REST API.

Share :
Share :

Weitere Beiträge

Using Room in CryptoOracle

In the Android application CryptoOracle the data is persisted in SQLite database. The reasons are two:
The application can still work and show persisted data when there is no internet connection.

Weiterlesen »
Room. Reactive queries

Room has great integration with LiveData. Results from SQL queries can be easily wrapped in LiveData container. This way LiveData can be observed in the UI. When the data is changed in the database, all active observers get notified and update the corresponding views.

Weiterlesen »