Book Image

ASP.NET Core and Vue.js

By : Devlin Basilan Duldulao
Book Image

ASP.NET Core and Vue.js

By: Devlin Basilan Duldulao

Overview of this book

Vue.js 3 is faster and smaller than the previous version, and TypeScript’s full support out of the box makes it a more maintainable and easier-to-use version of Vue.js. Then, there's ASP.NET Core 5, which is the fastest .NET web framework today. Together, Vue.js for the frontend and ASP.NET Core 5 for the backend make a powerful combination. This book follows a hands-on approach to implementing practical methodologies for building robust applications using ASP.NET Core 5 and Vue.js 3. The topics here are not deep dive and the book is intended for busy .NET developers who have limited time and want a quick implementation of a clean architecture with popular libraries. You’ll start by setting up your web app’s backend, guided by clean architecture, command query responsibility segregation (CQRS), mediator pattern, and Entity Framework Core 5. The book then shows you how to build the frontend application using best practices, state management with Vuex, Vuetify UI component libraries, Vuelidate for input validations, lazy loading with Vue Router, and JWT authentication. Later, you’ll focus on testing and deployment. All the tutorials in this book support Windows 10, macOS, and Linux users. By the end of this book, you’ll be able to build an enterprise full-stack web app, use the most common npm packages for Vue.js and NuGet packages for ASP.NET Core, and deploy Vue.js and ASP.NET Core to Azure App Service using GitHub Actions.
Table of Contents (25 chapters)
1
Section 1: Getting Started
4
Section 2: Backend Development
13
Section 3: Frontend Development
20
Section 4: Testing and Deployment

Updating a tour package using Axios and Vuex

We are in the last section of this chapter, and this section is about updating a tour package using a PUT HTTP request and Vuex. We are going to create another form for editing a tour package. So let's start.

The first task is to update services.js in the store/tour directory:

export async function putTourPackageAxios(tourList) {
  return await api.put(`TourPackages/${tourList.id}`, 
  tourList);
}

We are adding a new service that sends a PUT request to our backend server.

Next, we update types.js of the store/tour folder again:

export const UPDATE_TOUR_PACKAGE = "UPDATE_TOUR_PACKAGE";

The preceding code is a new action type for updating a tour package.

Next, we also update actions.js in the store/tour folder:

import { getTourListsAxios, deleteTourListAxios,
  postTourListAxios, deleteTourPackageAxios,
  postTourPackageAxios, putTourPackageAxios,
} from &quot...