Building an API Gateway in Java with Spring Cloud Gateway
ฝัง
- เผยแพร่เมื่อ 21 ส.ค. 2024
- In this tutorial you will learn about API Gateways by building one using Spring Cloud Gateway. We will discuss what API Gateways are used for, when you might want to reach for one and how to implement one using Spring Cloud Gateway
🔗Resources & Links mentioned in this video:
GitHub Repo: github.com/dan...
Spring Recipes: • Spring Recipes
👋🏻Connect with me:
Website: www.danvega.dev
Twitter: / therealdanvega
Github: github.com/dan...
LinkedIn: / danvega
Newsletter: www.danvega.de...
SUBSCRIBE TO MY CHANNEL: bit.ly/2re4GH0 ❤️
I love the idea of showing how to browse documentations, Spring docs are actually simple and on point.
one suggestion is to label (split) the video sections so people can skip parts that are familiar with maybe 🤔
Love your content 👌
Dan , I must tell you, the way you teach & guide , you are pure joy to those , who learn from your videos. Thank you for all the good work you are doing, to name one, you are making world more equal :)
I have to tell you I was having a little bit of a tough day over here and you just changed it. Thank you for the kind words and for making my day!
@@DanVega 🤣
Beware!
At the time of my post (February 2024) when you pick the "gateway" dependency, the artifact that comes with it is the "spring-cloud-starter-gateway-mvc" which will not work if you follow Dan's tutorial. If things start to fail and you don't know why, that's because of it.
The correct artifact is the spring-cloud-starter-gateway and comes when you pick in the Spring Initializr the "Reactive Gateway".
I have no idea why the change.
OMG! thanks!
will this is tutorial enough to do load balancing also ? as i am not able to balance load among multiple instances of same application by this.
thanks
great video as always. Can you do a video on how to authenticate jwt using api gateway.
You nailed it Dan!
Thanks for the introduction Dan.
It seems like a good application of this would be an API wrapper where one might add value to the response of the 3rd party API.
Thank you for the tutorial. I learn something new in every your videos. I am curious about how to add security. If clients want to access posts, albums, photos, and todos, they must get valid accessToken first.😅
Wonderful video. Thanks Dan for sharing!
Great video, could you please share the excalidraw diagram you created? I was not able to find it under resources or on excalidraw. Thanks!
Very helpful! May I ask which theme you’re using for IntelliJ? Looks so elegant
Thanks for the cloud
.
Awesome explanation..very helpful 👍
Thanks for the detailed info, could you please do a video on spring cloud function
Hi there!
Dou you have a guide to implement Authenticantion and Authorization through JWT to access Microservices, using Spring API Gateway?. Thanks a lot for the video.
Great video. Please use some normal font. These hand-written like fonts are hard to read.
Hi Dan, thanks. Can you share your excalidraw diagrams?
Hi Dan,
Thank you for the great tutorial. Could you please share the excalidraw drawing?
Thanks
Thanks for sharing! btw which IDE are you using
Can you secure the Gateway with OAuth2 client credentials grant flow using Keycloak?
Thank you!!!!❤❤❤❤
Hey Dan, I don't see any documentation on stomp security with Oauth2/ oidc for stomp applications behind a spring cloud api gateway. I am specifically speaking about token relay with stomp messages.
Thank you
Thanks a lot!
Hey, Like you added response header but before forwarding the request can we add a username header?
How to configure routes to use https in uri ? Can you provide code fragment ?
I am loading my routes from database...
How do I reload the routes dynamically..
Thank Dan for the video ! . I have a question about security. In spring spring gateway can be incorporated ?
thanks for sharing the video is super helpful, but it seams like the client APIs can be accessed directly without using gateway can you adda some security authentication and authorization using spring security and jwt thanks.
Can you do video on okta verification using spring boot
How can we add multiple uri's paths in spring cloud gateway in application.properties instead of yaml file. could you please replyme on this....
Would SCG be used in the situation where you want to make multiple api calls and return a composite response?
In AWS EKS, how this Spring cloud gateway pattern works?
Hi ,Dan, I have requirement to call Rest API from API gateway then modification response and call another REST API , then send response back to client. Is it possible ?
Greate video thanks.. is it possible to deploy a spring-cloud into a tomcat web server?
Absolutely. This is just another Spring Boot Application so the normal rules for deployment apply here.
@@DanVega I took your example from git, but i couldn't manage to activate to route directives. If i extend from SpringBootServeltInitializer i got an exception in tomcat and with using web.xml i had the same issue.
Hello dan , does this work on springboot 3.1.4 ? I do the same configuration but i get 404 error
Can someone help me? I'm using spring-cloud-starter-gateway-mvc then i have problems with multiple paths in predicates. how can i this resolve?
remove the-mvc part and it'll work. Don't forget to reload Maven.
Somehow in "spring initializr" the spring-cloud-starter-gateway comes when you pick the "Reactive Gateway" instead of just "Gateway".
The thing I hate most about Spring is that things change all the time and tutorials with a couple of months get obsolete real quick. :(
Can we configure common route properties such as prefixPath and addResponseHeader in one place instead of duplicating it for each route (19:25)?
I would say that in this particular situation, it's redundant due to little common logic and little amount of routes. But obviously, you could and should extract common logic in cases, where amount of routes is considerably large or even dynamic
Avoiding duplication is not always a necessary thing, especially when it's so insignificant
why not nginx ?
it was not really good what you say is not deep tutorials like what i learn in javabrain
No circuit breaker.