Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Mindfulness Meditation Personal Transformation Life Purpose Emotional Intelligence Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Modeling Data Analysis Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
Development Programming Languages REST API

REST API's RESTFul from 0 to AWS with Spring Boot and Docker

Learn how to develop a REST API from absolute 0 by meeting all RESTful maturity levels and deploy on AWS using Travis CI
Rating: 3.9 out of 53.9 (184 ratings)
1,144 students
Created by Leandro da Costa Gonçalves
Last updated 11/2020
English
English [Auto]
30-Day Money-Back Guarantee

What you'll learn

  • 10% Theory and 90% Practice
  • Developing a RESTFul API from absolute 0
  • Best practices for developing API's
  • Understand the theoretical foundation of REST
  • How to work with Postman
  • How to make RESTful requests using Postman
  • Understand the RESTful Maturity Model
  • Top REST Verbs
  • Using parameters via query, path, header, and body
  • API Pagination
  • API Versioning
  • Understand Media Types and Content Negotiation
  • Upload files in your API
  • Make download files available in your API
  • You will learn in practice HATEOAS
  • Document an API with Swagger
  • SQL and Migrations Basics
  • REST Authentication Techniques and Security with JWT
  • How to use some design patterns
  • Split application architecture into different layers
  • Leverage AWS core services like RDS, EC2, IAM User and ECS
  • Continuous Integration and Deploy involving Docker, Github, Travis CI, and Amazon AWS
  • Deploy your API on AWS Cloud
  • BONUS - Docker Basics
  • BONUS - Docker Compose Basics
  • BONUS - How to deploy the project in the cloud

Course content

24 sections • 180 lectures • 14h 25m total length

  • Preview02:56
  • Course Repository
    00:01

  • 0201 Section Presentation - REST Theoretical Foundations
    01:30
  • 0202 What are Webservices
    06:12
  • 0203 SOAP x REST
    04:35
  • 0204 What is REST
    04:44
  • 0205 Understanding Request and Response
    03:30
  • 0206 REST Parameter Types
    04:20
  • 0207 HTTP Status Codes
    06:09
  • 0208 HTTP Verbs and REST
    05:53
  • 0209 Less Known HTTP Verbs
    03:00
  • Preview05:41
  • 0211 HATEOAS
    02:28
  • 0212 Swagger Documentation
    03:04
  • 0213 Authentication
    04:02
  • 0214 Versioning
    04:45
  • 0215 Going Beyond RESTFul
    04:13
  • 0216 Best Practices
    08:22
  • 0217 Section Review - REST Theoretical Foundations
    00:46

  • 0301 Section Presentation - Setting Up the Environment on Windows
    01:12
  • 0302 Installing Java
    02:47
  • 0303 Installing Maven
    02:43
  • 0304 Installing Eclipse
    03:28
  • 0305 Installing GIT
    02:23
  • 0306 Installing MySQL
    03:55
  • 0307 Installing MySQL Workbench
    02:04
  • Preview02:24
  • 0309 Installing Postman
    01:33
  • 0310 Installing Docker
    04:00
  • 0311 Installing Docker - For Those who Needed use Docker Toolbox
    04:04
  • 0312 Section Review - Setting Up the Environment on Windows
    00:29

  • 0401 Section Presentation - Setting Up the Environment on Linux
    01:03
  • 0402 Installing Virtual Box
    01:33
  • 0403 Creating a Virtual Machine and Installing Ubuntu
    07:36
  • Preview02:08
  • 0405 Installing Maven
    00:40
  • 0406 Installing Eclipse
    07:24
  • 0407 Installing MySQL
    05:09
  • 0408 Installing MySQL Workbench
    03:37
  • 0409 Creating our Database
    01:33
  • Preview04:56
  • 0411 Installing Docker
    07:10
  • 0412 Installing Docker Compose
    01:59
  • 0413 Installing GIT
    01:18
  • 0414 Importing and Running our Project on Linux
    10:01
  • 0415 Section Review - Setting Up the Environment on Linux
    00:37

  • 0501 Section Presentation - First steps
    00:42
  • Preview03:11
  • 0503 Creating our Project in Spring Initializr
    04:40
  • 0504 Creating our Project in Eclipse
    05:52
  • 0505 Adding Spring Boot to Project
    12:30
  • 0506 Sending our Code to Github
    04:31
  • 0507 Understanding Gitignore
    02:14
  • 0508 Section Review - First steps
    01:00

  • 0601 Section Presentation - Implementing a Calculator
    00:47
  • 0602 Implementing a Controller
    06:30
  • 0603 Defining our Logic
    03:37
  • Preview02:42
  • 0605 Running the project
    05:04
  • 0606 Exception Handling
    10:40
  • 0607 Implementing Other Operations
    11:25
  • 0608 Section Review - Implementing a Calculator
    00:32

  • 0701 Section Presentation - Learning the Four Main HTTP Verbs
    00:33
  • 0702 Creating and injecting services into controller
    11:49
  • 0703 Returning Object Lists
    06:46
  • 0704 The POST, PUT and DELETE Verbs
    12:39
  • 0705 Section Review - Learning the Four Main HTTP Verbs
    00:52

  • 0801 Section Presentation - Integrating our Application with MySQL Database
    00:35
  • 0802 Creating the database and setting application.properti properties
    05:17
  • 0803 Implementing our Entity and Repository
    10:49
  • 0804 Refactoring our Service
    07:44
  • 0805 Refactoring our Controller
    07:02
  • 0806 Refactoring our Controller for new Implementations
    06:20
  • 0807 Section Review - Integrating our Application with MySQL Database
    01:17

  • 0901 Section Presentation - Value Object (VO) Design Pattern
    00:35
  • 0902 Value Object (VO) Design Pattern
    05:16
  • 0903 Implementing VO Design Pattern with Dozer Framework
    12:28
  • 0904 Creating DozerConverter Tests
    05:47
  • 0905 Refactoring Service and Controller
    08:05
  • 0906 Section Review - Value Object (VO) Design Pattern
    00:53

  • 1001 Section Presentation - API's Versioning
    00:32
  • 1002 API Versioning
    07:07
  • 1003 Creating a Custom Converter
    11:13
  • 1004 Section Review - API's Versioning
    00:40

Requirements

  • Basic concepts of Object Orientation
  • Basic knowledge of SQL and any relational database
  • Basic concepts of Java
  • Basic concepts of HTTP Request and Response

Description

**** Come specialize in API development with the revolutionary Spring Boot framework that is a real fever today! *****

This course teaches the core fundamentals of APIs REST and RESTful Webservices both in theory (10%) and in practice (90%). This knowledge will be applied to the implementation of a RESTful API with SpringBoot 2.x and Java. We will start with a simple application that will gradually advance to more complex scenarios. We will cover HTTP notions, verbs/methods, parameter types, pagination, file upload and download, versioning, HATEOAS, Swagger, authentication, and security with JWT and Spring Security, etc.

We will add Docker support and deploy our API on an Amazon AWS EC2 instance manually. And to close the course with a golden key, we will implement a continuous integration pipeline involving Docker, Github, Travis CI, and an ECS Cluster on Amazon AWS. It will be amazing you simply commit your code and push to Github, Travis CI builds Docker Images and deploys it on Amazon "Automagically".

Finally, the main objective of the course is to serve as a starting point from which students can expand their knowledge of the subject and "walk with their legs."

Who this course is for:

  • Early career developers who need to learn how to develop a REST/RESFul API from scratch
  • Software developers and engineers
  • For back-end developers with knowledge of ASP NET, Rails, Django, Node, etc. and want to learn how to do what they know but with other technology
  • Front end developers who want to become full-stack
  • Anyone who has tried other REST/RESTful Webservices tutorials and found that they were very slow, outdated, and boring!

Instructor

Leandro da Costa Gonçalves
Analista Desenvolvedor de Software
Leandro da Costa Gonçalves
  • 4.6 Instructor Rating
  • 5,274 Reviews
  • 16,754 Students
  • 13 Courses

See my biography in English below.


Se alguma dessas frases parece familiar?

- "Eu quero TRABALHAR em uma GRANDE EMPRESA de TECNOLOGIA, mas TENHO pouca ou nenhuma EXPERIÊNCIA e quando mando currículos nunca me dão retorno!"
- "Como responder as perguntas CORRETAMENTE no processo seletivo?"
- "E se eu conseguir o trabalho e ficar VIAJANDO porque não saber o que fazer o que me pediram?"
- "O que REALMENTE é IMPORTANTE APRENDER, para que eu não desperdice meu tempo e DINHEIRO aprendendo coisas que nunca irei usar?"

Se sim, você veio ao lugar certo.

Eu sou Leandro Costa, ANALISTA DE SISTEMAS e DESENVOLVEDOR, bacharel em Sistemas de Informação com pós-graduação em Engenharia de Software. Trabalho a MAIS DE 8 ANOS como desenvolvedor back-end e sou um entusiasta apaixonado pela área. Em todos esses anos eu errei bastante, aprendi muito com esses erros. Por isso sei EXATAMENTE o que você precisa aprender e com o que não deve perder seu tempo para ter uma carreira bem-sucedida na área de TECNOLOGIA.

Comecei minha carreira com manutenção de computadores, impressoras e monitores - arriscava fuçar em tudo que tinha um CHIP dentro. Comecei a programar em Delphi e logo depois iniciei a faculdade onde me dediquei à aprender Java e GNU/Linux. Como desenvolvedor eu iniciei trabalhando com Delphi, depois Java com JSF e Spring, Groovy, depois AngularJS e me apaixonei por JavaScript. Atualmente trabalho com .NET Core e C# e estou gostando bastante principalmente depois que a plataforma virou Open Source. Já trabalhei em diferentes tamanhos de projetos nacionais e internacionais, em setores como varejo, farmacêutico, atacadista, marketing, governo, ERP e fintechs. Participei de projetos Agile, "Fake Agile", Cascata, RUP e claro me deparei com muito Extremme Go Horse e confesso que tive que fazer algumas gambiarras ao longo da carreira.

Nos diferentes projetos em que trabalhei utilizei diversas tecnologias como Java, Spring, Hibernate, JSF, C#, Entity Framework, ASP.NET, Groovy, Grails, JavaScript, AngularJS, Docker, Docker Compose, MySQL, Postgree, SQL Server, Oracle dentre outras.

Em 2012 tive o prazer de criar dois cursos gratuitos de Groovy e JSF no Youtube, são eles:

- Curso De JavaServer Faces (JSF) Do Zero À Nuvem
- Curso Básico de Grails

Recentemente publiquei um livro sobre engenharia de software em que detalho a evolução dos modelos de gestão do desenvolvimento de software. Entretanto os frameworks ágeis ganharam uma atenção especial principalmente o eXtreme Programming e o Scrum. Você pode conferir o resultado na Amazon, procurando pelo título:

- Engenharia de Software Essencial: Um guia rápido com foco em Agile

Atualmente tenho como objetivo ajudar você a CONSEGUIR o trabalho/estágio que você deseja ou dar um UP na sua CARREIRA. Colaborando no aprendizado de pessoas que buscam conhecimento através de TREINAMENTOS EFICIENTES e PRÁTICOS na área de desenvolvimento, Agile, TDD, Integração Contínua, Docker, Clean Code e API's (SOA), especialmente RESTfull API's. Sou apaixonado por transmitir conhecimentos e contribuir para que as pessoas se desenvolvam e alcancem o melhor de si. 

E me sinto muito gratificado em fazer parte da jornada de aprendizado da vida de muitos alunos e por essa razão eu estou empenhando em dar o meu melhor entregando conteúdos cada vez melhores e mais relevantes.

Imagine conseguir:

- Poder escolher a empresa que quer estagiar e trabalhar
- Passar de forma tranquila por empresas e provas de seleção
- Começar a trabalhar na área antes de se formar
- Impressionar seu chefe e seu diretor e ser promovido
- Dar um UP na sua CARREIRA aprendendo uma NOVA TECONOLOGIA

Pode parecer difícil, mas para ter um CURRÍCULO FORA DE SÉRIE você precisa fazer os TREINAMENTOS CERTOS. Você não pode perder tempo com cursos ruins ou aprendendo coisas que não vai usar.

O objetivo aqui é te ensinar o que você precisa saber e sem enrolação, do básico ao avançado. Quando você aprende mais, você se destaca. E quando você se destaca, você começa a crescer na sua carreira.

Animado para começar? Então vamos lá!.


English Biography


I am Leandro Costa, SYSTEMS ANALYST and DEVELOPER, Bachelor of Information Systems with a postgraduate degree in Software Engineering. I've been working for more than eight years as a back-end developer, and I'm a passionate enthusiast for the area. In all these years, I made a lot of mistakes and learned a lot from these mistakes. That's why I know EXACTLY what you need to learn and what you shouldn't waste your time on to have a successful career in the field of TECHNOLOGY.


I started my career with the maintenance of computers, printers, and monitors - I risked going through everything that had a CHIP inside. I started programming in Delphi, and soon after, I started college, where I dedicated myself to learning Java and GNU / Linux. As a developer, I started working with Delphi, then Java with JSF and Spring, Groovy, then AngularJS, and fell in love with JavaScript. I currently work with .NET Core and C #, and I am enjoying it a lot, mainly after the platform became Open Source. I have worked in different sizes of national and international projects in sectors such as retail, pharmaceutical, wholesaler, marketing, government, ERP, and fintech. I participated in projects Agile, "Fake Agile," Waterfall, RUP, and of course, I came across a lot of Extreme go Horse, and I confess that I had to do some "jerry-rigs" throughout my career.


In the different projects I worked on, I used several technologies such as Java, Spring, Hibernate, JSF, C #, Entity Framework, ASP.NET, Groovy, Grails, JavaScript, AngularJS, Docker, Docker Compose, MySQL, Postgres, SQL Server, Oracle, Amazon AWS, Microsoft Azure among others.


In 2012 I had the pleasure of creating two free Groovy and JSF courses on Youtube (sorry only in portuguese), they are:


- Curso De JavaServer Faces (JSF) Do Zero À Nuvem

- Curso Básico de Grails


I recently published a book on software engineering in which I detail the evolution of software development management models. However, agile frameworks have gained special attention, mainly eXtreme Programming and Scrum. You can check the result on Amazon  (sorry only in portuguese too) by searching for the title:


- Engenharia de Software Essencial: Um guia rápido com foco em Agile


Currently, I aim to help you GET the job/internship you want or give a UP in your CAREER. I am collaborating in the learning of people who seek knowledge through EFFICIENT and PRACTICAL TRAINING in the area of ​​development, Agile, TDD, Continuous Integration, Docker, Clean Code, and APIs (SOA), especially RESTfull APIs. I am passionate about imparting knowledge and helping people to develop and achieve the best of themselves.


And I feel very gratified to be part of the learning journey of many students' lives, and for that reason, I am striving to give my best by delivering better and more relevant content.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.