Book Image

Building Applications with Spring 5 and Vue.js 2

By : James J. Ye
Book Image

Building Applications with Spring 5 and Vue.js 2

By: James J. Ye

Overview of this book

Building Applications with Spring 5 and Vue.js 2, with its practical approach, helps you become a full-stack web developer. As well as knowing how to write frontend and backend code, a developer has to tackle all problems encountered in the application development life cycle – starting from the simple idea of an application, to the UI and technical designs, and all the way to implementation, testing, production deployment, and monitoring. With the help of this book, you'll get to grips with Spring 5 and Vue.js 2 as you learn how to develop a web application. From the initial structuring to full deployment, you’ll be guided at every step of developing a web application from scratch with Vue.js 2 and Spring 5. You’ll learn how to create different components of your application as you progress through each chapter, followed by exploring different tools in these frameworks to expedite your development cycle. By the end of this book, you’ll have gained a complete understanding of the key design patterns and best practices that underpin professional full-stack web development.
Table of Contents (23 chapters)
Title Page
Copyright and Credits
Dedication
About Packt
Contributors
Preface
Index

Building the backend of the board page


Now, let's take a look at what we will need to do to implement the backend of the board page. In a nutshell, we will need to do the following:

  • Create the domain models of the card list, the card, and BoardMember
  • Create the application services
  • Create the repository implementations
  • Create the API handlers in controllers

APIs for the board page

First of all, let's see the APIs that we will need to implement:

  • The API to get a board
  • The API to add a board member
  • The API to add a card list
  • The API to change the positions of card lists
  • The API to add a card
  • The API to change card positions

Let's take a look at each one of them, as follows:

  • Get board API: This will be a GET request sent to /api/boards/{boardId}. Through this API, we will return the board information, as well as the board members, card lists, and its cards. If this is a team board, we will also need to return the team information. The following is how the response will look:
{
  "team": {
    "name": "Sales...