Revel: A Go Website Application Framework

Revel makes it easier than ever to develop complicated, enterprise-grade apps. In this survey-style course, you'll learn how to create an app in Revel and make use of this framework's main components, including request processing, filters, and more.
Course info
Level
Intermediate
Updated
Mar 23, 2016
Duration
3h 27m
Table of contents
Description
Course info
Level
Intermediate
Updated
Mar 23, 2016
Duration
3h 27m
Description

Developing large, enterprise-grade applications can be difficult, but with Revel, you can develop and maintain apps with efficiency and ease. In this course, Revel: A Go Website Application Framework, you'll get an introduction to this full-featured framework and its many capabilities. First, you'll learn how to create an app as well as configure and reverse routes. After that, you'll cover request processing capabilities and the methods Revel uses to create responses to HTTP requests. Finally, you'll learn about interceptors, filters, and other additional features. At the end of this course, you'll understand how to use Revel to simplify the development process of complex apps you may build in the future.

About the author
About the author

Michael Van Sickle is an application architect in Akron, Ohio. He is a mechanical engineer by training and a software engineer by choice. He is passionate about learning new programming languages and user experience design.

More from the author
The Go CLI Playbook
Intermediate
2h 8m
28 Feb 2018
Intern 4: Getting Started
Beginner
2h 41m
9 Jan 2018
Object-oriented Programming with Go
Intermediate
1h 42m
11 Aug 2017
More courses by Mike Van Sickle
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi everyone, my name is Michael Van Sickle, and welcome to my course, Revel: A Go Website Application Framework. I'm a software engineer at SitePen. Go is one of the fastest growing programming languages today, and many developers are finding that it enables applications to be built quickly while remaining easy to maintain. In this course, we're going to learn about the Revel web application framework and answer the question about whether you should add it to your portfolio. Some of the major topics that we'll cover include how to set up routing in your application, how to work with requests and generate responses, how to set up custom interceptors to add things like security to your application, and how to work with Revel's test framework. By the end of this course, you'll know how to work with Revel and if it's the right tool for your next project. Before beginning this course, you should be familiar with the Go programming language and the basics of web application development with an MVC framework. I hope you'll join me on this journey to learn Revel with the Revel: A Go Website Application Framework course, at Pluralsight.

Working with Requests
Hello, and welcome back to this course where we're learning about Revel, a web application framework for Go. In the last module, we talked about how to work with routing in Revel and how to get requests where we want them to go. Well, now that we're there, it's time to learn what to do with them now that we got them. So in this module, we're going to be talking about data that can come in with the request, how we can get at that data, and how we can process it. Now, we're not going to go all the way through the HTTP pipeline yet. Reponses are a big enough topic that we're going to save those for the next module. Let's just focus on getting the data into our application and working with it for now. There are three major areas that we're going to talk about in the context of receiving information. First is how to get at the data itself. Now that might seem like that's kind of an obvious thing, and we've already seen a little bit of it with the routing when we had variables declared in our URL, and we saw that we could inject those directly into our actions, but there are some other ways that we can get at that data, and I want to talk about those in particular. After that, we'll talk about data binding. Where working with parameters and variable injection is really good for primitives, a lot of times you're going to be receiving much more complicated data structures, for example, when you're receiving data from a form POST and data binding is really our go-to solution to make sure that we get that information in the format that we want it to be. Finally, we'll talk about Revel's data validation framework. Now, it's a little bit different than a lot of data validation frameworks that I've seen before, but it works pretty well, and I think it's going to go a long way to solving the validation needs in your application. Now, let's get started by learning how to receive data into our actions.

Interceptors and Filters
Hello, and welcome back. In our last module, we finished the discussion about how Revel helps us implement the entire HTTP request and response pipeline. In this module, I want to cover how Revel supports the other responsibilities that your application often has to take care of, such as logging and security and things like that by talking about interceptors and filters. We'll start our discussion with interceptors. Of course, I'll start by defining what those are and how they're used in an application. Then we'll talk about the types of interceptors that Revel provides, as well as the times that we can schedule an interception to occur. We'll then move onto filters and learn that actually those are one of the core concepts that Revel implements. As a matter of fact, all of Revel is implemented as a series of filters that are chained together and execute one after another. We'll learn about what those default filters are and how Revel actually provides the execution environment that we've been working with, and then we'll finish out this discussion by learning how to work with custom filters. So let's dive in and start learning about interceptors.