Giter Club home page Giter Club logo

modern-api-development-with-spring-and-spring-boot's Introduction

Modern API Development with Spring and Spring Boot

Modern API Development with Spring and Spring Boot

This is the code repository for Modern API Development with Spring and Spring Boot, published by Packt.

Design highly scalable and maintainable APIs with REST, gRPC, GraphQL, and the reactive paradigm

What is this book about?

The philosophy of API development has been evolving over the years to serve the modern needs of enterprise architecture, and developers need to know how to adapt to these modern API design principles. Apps are now developed with APIs which enable ease of integration for the cloud environment and distributed systems. In this Spring book, you will discover various kinds of production-ready API implementation with the REST API, along with exploring async using the reactive paradigm, gRPC, and GraphQL.

This book covers the following exciting features: Understand RESTful API development, its design paradigm, and its best practices Become well versed in Spring's core components for implementing RESTful web services Implement reactive APIs and explore async API development Apply Spring Security for authentication using JWT and authorization of requests Develop a React-based UI to consume APIs Implement gRPC inter-service communication Design GraphQL-based APIs by understanding workflows and tooling Gain insights into how you can secure, test, monitor, and deploy your APIs

If you feel this book is for you, get your copy today!

https://www.packtpub.com/

Instructions and Navigations

All of the code is organized into folders. For example, Chapter02.

The code will look like the following:

@Autowired
private DgsQueryExecutor dgsQueryExecutor;
@MockBean
private ProductService productService;
@MockBean

Following is what you need for this book: 0

With the following software and hardware list you can run all code files present in the book (Chapter 1-14).

Software and Hardware List

No Software required OS required
1 Java 15 Windows, Mac OS X, and Linux (Any)
2 Java IDE such as IntelliJ or Eclipse Windows, Mac OS X, and Linux (Any)
3 Docker Windows, Mac OS X, and Linux (Any)
4 Kubernetes (Minikube) Windows, Mac OS X, and Linux (Any)
5 cURL or Postman Windows, Mac OS X, and Linux (Any)
6 Node.js 14.x with NPM 6.x Windows, Mac OS X, and Linux (Any)
7 Visual Studio Code Windows, Mac OS X, and Linux (Any)
8 React 17 Windows, Mac OS X, and Linux (Any)
9 ELK Stack Windows, Mac OS X, and Linux (Any)
10 Zipkin Windows, Mac OS X, and Linux (Any)

We also provide a PDF file that has color images of the screenshots/diagrams used in this book. Click here to download it.

Related products

  • Microservices with Spring Boot and Spring Cloud - Second Edition [Packt] [Amazon]

  • Hands-On Full Stack Development with Spring Boot 2 and React - Second Edition [Packt] [Amazon]

Errata

  • Page 328 (paragraph 3 , line 1): The host name is import when you're using the containers. Therefore, we'll use the IP number instead of the local hostname for the registry host should be The host name is necessarywhen you're using the containers. Therefore, you'll use the IP number instead of the local hostname for the registry host
  • Page 269 (bullet 1 , line 1): The login operation sets the access token, refresh token, user ID, and username in the responseToken key of the local storage by using the state arguments passed by the App component. should be The login operation sets the access token, refresh token, user ID, and username in the tokenResponse key of the local storage by using the state arguments passed by the App component.

Get to Know the Author

Sourabh Sharma works at Oracle as a lead technical member where he is responsible for developing and designing the key components of the blueprint solutions that are used by various Oracle products. He has over 18 years of experience delivering enterprise products and applications for leading companies. His expertise lies in conceptualizing, modeling, designing, and developing N-tier and cloud-based web applications as well as leading teams. He has vast experience in developing microservice-based solutions and implementing various types of workflow and orchestration engines. Sourabh believes in continuous learning and sharing knowledge through his books and training.

modern-api-development-with-spring-and-spring-boot's People

Contributors

abiel7 avatar gaurav-packt avatar rohitpackt avatar saurabhk710 avatar sharmasourabh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

modern-api-development-with-spring-and-spring-boot's Issues

Could not find method javplugins()

Hi.
I just bought the book and I'm kinda stuck in Chapter04, as clean and build is throwing the error:

Could not find method javplugins() for arguments [build_c8ibzmuhawfr1rzcd03uf9wqr$_run_closure1@23fba7f6] on root project 'Chapter04' of type org.gradle.api.Project.
When I hover the javplugins declaration in build.gradle file, it says: No candidates found for method call javplugins. Chapter04

I tried reloading all gradle projects and invalidate cache and restart IntelliJ. I just cloned the repo, open Chapter04 in InteliiJ and typed gradlew clean build in the terminal. Running JDK 15, Win 11.

Any help will be greatly appreciated!

Upgraded version causing error

Hello,

I am trying to use the latest Spring project 2.3.7, Java version 17, and swagger generator plugin version 2.19.2. I upgrade all the OpenAPI dependencies to the recent versions. The build fails with this error:

Execution failed for task ':generateSwaggerCodeEStore'.
> Process 'command '/Users/shivangisharma/Library/Java/JavaVirtualMachines/corretto-17.0.4.1/Contents/Home/bin/java'' finished with non-zero exit value 1

Why this might be the case? Are the latest Swagger versions incompatible with SpringBoot?

Also, I have not used Gradle and Swagger before. Is it a prerequisite for this book?

How do we update the project to the latest versions? I am in Chapter 3 of the book.

Thank you,
Your guidance is much appreciated!

Another typo ?

Sorry to bother.
In 269 page, there is sentence such as "The login operation sets the access token, refresh token, user ID, and username in the responseToken key of the local storage by using the state arguments passed by the App component." I think that 'responseToken' should be 'tokenResponse', isn't it?

package model cannot be found (chapter 4, 5)

I'm looking for the package as it is used with the classes in the hateoas package, but they are not added to the repository. Is it possible to upload them to verify the classes in those chapters?

Is this TYPO?

There is a sentence like this, 'The host name is import when you're using the containers. Therefore, we'll use the IP number instead of the local hostname for the registry host.' in 328 Page.

I think 'import' is typo. Isn't it important ?

there is no package for model

Hi,
I couldn't find any package with the name "model" in the project dir.
For example in AddressServiceImpl line 5 you've added :
import com.packt.modern.api.model.AddAddressReq;
Where is the AddAddressReq class?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.