REST APIs with Java, Spark Framework, MongoDB & GridFS

Learn to create Web Services & Upload and Stream Video through REST
2.1 (19 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
678 students enrolled
Instructed by FA S Development / Web Development
Take This Course
  • Lectures 14
  • Length 4.5 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 12/2015 English

Course Description

Learn to create a REST APIs by following along with me as we develop a Web Service where we secure it with Basic Authentication, Create Users, Posts, upload videos, upload and stream videos using GridFS, a technology that comes with MongoDB and allows for file to be greater than 16MB(Split into parts). Users will be able to stream videos and skip to parts of the videos as well. Anyone with basic java knowledge will benefit greatly from this course. If you always wanted to create a video streaming service like youtube, snapchat, or even Periscope or just create an app to share videos etc... this is the course for you. Come on in and join me. Find out how all these startups are streaming all those videos to consumers. This course will get you started and once finished, you can create nearly any kind of Web Service you can think of. Everything is explained and typed slowly. No surprises.

The tools we'll be using are up to par with current trends. We'll be using a forward thinking microframework called spark and combine that with MongoDB and GridFS to create Users and upload assets to our REST Service. You're going to learn how to Convert JSON to Java Objects using Google Gson as well as how to make your code more maintainable using Dependency Injection with Google Guice.

What are the requirements?

  • We will do a walk through on the tools needed.
  • The Tools used are: Java 8, MongoDB, Morphia, Spark, GridFS(part of Mongo), Google Guice, Google Gson, JBCrypt
  • Postman for testing our API

What am I going to get from this course?

  • Create Endpoints with Spark
  • Connect to MongoDB Using both, Morphia and Java Driver
  • Do CRUD operations in MongoDB
  • Create Entity Relationships
  • Accept file uploads to a REST API
  • Upload Video through REST
  • Stream video through REST using GridFS and Ranges
  • Create Projects with Intellij IDEA
  • Dependency Injection with Google Guice
  • Basic REST Authentication
  • Use Google Gson to convert JSON to Java Objects

Who is the target audience?

  • This course is meant for beginners with some Java knowledge
  • If you know what an object is and how to create a class, you're good to go

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Environment

An overview of the tools we'll be using.

Installling the tools
Section 2: Creating Endpoints
Starting with Spark Framework
Parsing JSON with Google Gson
Section 3: MongoDB Intro
Introducing Morphia and Saving Records to the Database
Section 4: Security
Hashing Passwords
Route Filters
Section 5: Adding Posts to Users
Creating the Post Class
Saving and Retrieving Posts
Finding Posts by Id
Section 6: Uploading and Streaming Video
The Java MongoDB Driver
GridFS: Uploading Videos
Streaming Videos
Section 7: Dependency Injection

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

FA S, Software Engineer


I work as a Software Engineer in LA, my primary language there is Java and I use it every day to create Web Services, Messaging Systems, MQTT Machine to Machine Communication like send messages to Mobile devices for Real-Time experiences. Before that I worked for many companies using different technologies such as Ruby on Rails, Python, and Objective-C/Swift for iOS.

Ready to start learning?
Take This Course