Skip to content

theagoliveira/spring5-mvc-rest

Repository files navigation

CircleCI codecov

Spring Framework — MVC RESTful WebService Application

Project from the online course Spring Framework 5: Beginner to Guru by John Thompson — Sections 24, 25 and 27.

Table of Contents

Contents

  • Section 24
    • Introduction to RESTFul Web Services with Spring MVC
    • New Spring Boot Project
    • Spring Boot Command Line Runner
    • Introduction to MapStruct
    • Using MapStruct
    • MapStruct IntelliJ Plugin
    • Category Service
    • List Categories
    • Testing with Postman
    • Create Get API for Customers
    • Create New Customer With Post
    • Update Customer with PUT
    • Integration Testing with DataJPATest
    • Update Customer with PATCH
    • Delete Customer
    • Externalize API URL Value
    • Exception Handling
    • Spring Rest Controller
    • Create Vendors API
    • Conclusion
  • Section 25
    • Introduction to Swagger
    • What is Swagger
    • Configuring Swagger
    • Swagger UI
    • Customizing Swagger with Meta Data
    • Customizing Endpoint Documention
    • Customize Vendors
    • Introduction to Swagger Editor
    • Swagger Code Gen
    • Conclusion
  • Section 27
    • Introduction
    • Spring MVC Content Negotiation Overview
    • Maven Dependencies to Render XML with Spring MVC
    • Introduction to XML Schema
    • Using Multi-Module Maven Builds with Spring Boot
    • Using JAXB to Generate Java Classes
    • Refactor for JAXB Generated Classes
    • Testing and Running JAXB Generated Classes in Spring Boot Application
    • Conclusion

Project Summary

  • Project: Maven
  • Java: 11
  • Spring Boot: 2.5.0
  • Dependencies
    • JavaBeans Activation Framework
    • JAXB API
    • JAXB Core
    • JAXB Implementation
    • Spring Data JPA
    • Spring Web
    • Spring Boot DevTools
    • H2 Database
    • Lombok
    • Spring Boot Starter Test
    • MapStruct
    • SpringFox Boot Starter
    • Jackson Dataformat XML
    • Woodstox
    • Spring Security
    • Bucket4j
    • Spring cache abstraction
    • Ehcache
  • Plugins
    • Maven Compiler Plugin
    • JAXB2 Maven Plugin
    • Spring Boot Maven Plugin
    • Maven Failsafe Plugin
    • JaCoCo Maven Plugin

API Documentation

The API documentation created with Swagger can be found here.

Deployment

API deployed on Heroku